在pig中求和值

ggazkfy8  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(377)

我正在尝试传递一个输出,它聚合最后两个字段(count和books),并为每个分组将它们除以(count/books)。目前我有分组代码,它按数组中的第一个元素分组。我不知道如何得到最后两个元素的和,然后求和。到目前为止我已经发布了什么代码。提前谢谢!

bigrams = LOAD 'txt' AS (bigram:chararray, year:int, count:int, books:int);
grouping = group bigrams by bigram;

STORE grouping INTO 's3://cse6242vrv3/output1.txt';
isr3a4wc

isr3a4wc1#

还不完全清楚你期望的输出是什么。所以,我假设你只是想知道如何在pig中进行聚合。如果您正在寻找不同的产品,请告诉我们更多信息。

bigrams = LOAD 'txt' AS (bigram:chararray, year:int, count:int, books:int);
grouping = foreach(group bigrams by bigram) generate group AS biagram,
                  SUM(bigrams.count) AS sum_count,
                  SUM(biagram.books) AS sum_books,
                  SUM(bigrams.count)/SUM(biagram.books) AS ratio;
STORE grouping INTO 's3://cse6242vrv3/output1.txt';

你可以在这里找到更多关于Pig聚集的细节-https://pig.apache.org/docs/r0.15.0/basic.html#group 您可能对pig感兴趣的另一件事是嵌套块,它可以用于分组中的复杂计算。https://pig.apache.org/docs/r0.15.0/basic.html#nestedblock

相关问题