我有一些数据,比如(名字,分数) 一个 10 乙 25 C 15 一个 5 一个 36 乙98 C 78 C 78 乙12
data = LOAD 'demo.txt' using PigStorage (',') as (name : chararray , score : int);
groupScore = GROUP data by score;
totalscore = FOREACH groupScore Generate data.name , SUM(data.score);
当我使用 SUM() 函数时,输出结果如下
{(A)(A)(A), (51)}
{(B)(B)(B), (135)}
我想知道是否有任何我可以展示的东西
{(A), (51)},
这不是在每次出现时都重复“名称”字段吗?
任何指导都会有所帮助。
最佳答案
下面是解决方案的查询
data = LOAD 'demo.txt' USING PigStorage(',') AS (name:chararray,score:int);
groupScore = group data by name;
result= FOREACH groupScore GENERATE group,SUM(data.score);
输出
(A,51) (B,135) (C,171)
关于hadoop - Pig Latin 像这样获取 SUM() 函数的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740692/