我在两个表上执行了内连接。但是,我无法对其中一个cloumns进行求和:
执行了查询:
sample1 = load '/user/tweets/samples.csv' using PigStorage AS (line:chararray);
words = FOREACH sample1 GENERATE FLATTEN(TOKENIZE(REPLACE(LOWER(TRIM(line)),'[\\p{Punct},\\p{Cntrl}]',''))) AS word
newinnerjoin = join words by word, wordlexion by lexword;
以下是表格的输出:newinnerjoin
(important,important,2)
(irritated,irritated,-3)
(promoting,promoting,1)
(promoting,promoting,1)
(appreciate,appreciate,2)
(confidence,confidence,2)
我想在内部联接结果的第3列上执行聚合。 所以,我希望总和计算为2 + -3 + 1 + 1 + 2 + 2 = 5 有没有办法我可以做而不将内连接结果存储在csv文件中? 请指教。
由于
答案 0 :(得分:1)
您可以添加以下3行代码并让我知道结果吗?。
A = GROUP newinnerjoin ALL;
B = FOREACH A GENERATE SUM(newinnerjoin.$2);
DUMP B;