我正在使用pig,这是我要分析的文本的一部分:
SciTePress: 32
Springer: 10
Springer: 13
Springer: 14
Springer: 1571
我想达到的目的是以一种上升的方式对文本进行排序。例如,我希望输出如下所示:
Springer: 1608 //( i.e. the sum of 10+13+14+1571)
SciTePress: 32
有没有一种方法可以通过使用pig来实现这一点?
这是我现在得到的输出:
Springer: 1571
SciTePress: 32
Springer: 14
Springer: 13
Springer: 10
以下是我使用过的命令:
WORDS = LOAD '../filename' using PigStorage(':') AS (title: chararray, count:int);
grpd = GROUP WORDS BY count;
sorted = order WORDS by count desc;
top5 = limit sorted 5;
dump top5;
1条答案
按热度按时间cyvaqqii1#
我们必须根据标题对数据进行分组,对于每个分组,我们可以调用sum函数来获得总和。
输入:
Pig脚本:
输出:转储请求数据