我有猪拉丁语问题:
我在下面有这些数据(在一行中):
A = LOAD 'records' AS (f1:chararray, f2:chararray,f3:chararray, f4:chararray,f5:chararray, f6:chararray);
DUMP A;
(FITKA,FINVA,FINVU,FEEVA,FETKA,FINVA)
现在我有了另一个数据集:
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 .. and so on)
相乘,因为它们现在位于同一行,这就是我想要的。
当然我可以逐列加入,然后值显示为“行尾”,然后我可以使用另一个foreach生成来清除它。但是,我想要一些更简单的解决方案,没有太多的连接,这可能会导致性能问题。
数据集A是文本(单向句子......)。
那么我有什么选择来实现这一目标? 你能帮忙的话,我会很高兴。
答案 0 :(得分:0)
一个句子可以表示为一个元组,并包含一包元组(单词,计数)。
因此,我建议您将数据存储方式更改为以下格式:
sentence:tuple(words:bag{wordcount:tuple(word, count)})