0

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

我在下面有这些数据(在一行中):

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 是文本(一种方式的句子..)。

那么我有什么选择来实现这一目标?你能帮忙的话,我会很高兴。

4

1 回答 1

0

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

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

sentence:tuple(words:bag{wordcount:tuple(word, count)})
于 2015-06-10T20:00:02.500 回答