Hadoop Pig拉丁语按字段联接

Hadoop Pig拉丁语按字段联接,hadoop,apache-pig,udf,Hadoop,Apache Pig,Udf,我有一个与猪拉丁语相关的问题: 我有以下数据(一行): 现在我有了另一个数据集: B = LOAD 'values' AS (f1:chararray, f2:chararray); Dump B; (FINVA,0.454535) (FITKA,0.124411) (FEEVA,0.123133) 我想把这两个数据集连接起来。我将从数据集B获得相应的值,并将该值放在数据集A的值旁边。因此预期输出如下: FITKA 0.123133, FINVA 0.454535 and so on ..

我有一个与猪拉丁语相关的问题:

我有以下数据(一行):

现在我有了另一个数据集:

B = LOAD 'values' AS (f1:chararray, f2:chararray);
Dump B;
(FINVA,0.454535)
(FITKA,0.124411)
(FEEVA,0.123133)
我想把这两个数据集连接起来。我将从数据集B获得相应的值,并将该值放在数据集A的值旁边。因此预期输出如下:

FITKA 0.123133, FINVA 0.454535 and so on .. 
(They can also be like: FITKA, 0.123133, FINVA, 0.454535 and so on .. )
然后我可以将值相乘
(0.123133 x 0.454535..等等)
,因为它们现在在同一行上,这就是我想要的

当然,我可以一列接一列地连接,但随后值显示为“行的末尾”,然后我可以使用另一个foreach生成来清理它。但是,我想要一些更简单的解决方案,不需要太多可能导致性能问题的连接

数据集A是文本(句子以一种方式…)

那么,我有什么选择来实现这一点呢?
任何帮助都很好

一个句子可以表示为一个元组,包含一袋元组(单词、计数)

因此,我建议您将存储数据的方式更改为以下格式:

sentence:tuple(words:bag{wordcount:tuple(word, count)})

您好,谢谢您的快速回复。你能给我举一些小猪脚本的例子吗。问题仍然是这样一个事实,即具有单个单词和值(如Peter 0.454523)的数据集是静态的,并且具有句子的数据集经常更改。我理解你的模式,但在我的情况下,当我不得不将它们插入到你描述的模式中时,我失去了跟踪。如果你想要的不仅仅是提示,请提供更多可以测试的信息和数据。好的,数据来了:提供输入数据集和预期输出。我在最初的问题中列出了这两个数据集的样本行,并提供了预期的输出。
sentence:tuple(words:bag{wordcount:tuple(word, count)})