apache pig count sort

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache pig count sort相关的知识,希望对你有一定的参考价值。

我正在阅读猪的apache日志,它计算了ip的总连接数。

A = LOAD 'access.log' using PigStorage(' ') as (f0:chararray,f1:chararray,f2:chararray,f3:chararray,f4:chararray,f5:chararray,f6:chararray);
grp_f5 = GROUP A by f5; 
counts = FOREACH grp_f5 GENERATE group, COUNT(A);
store counts into '/data/accesslog' using PigStorage(','); 

结果:

2.50.3.29,71
71.5.94.4,30
12.0.19.50,6
12.53.17.3,4
155.69.4.4,37
166.77.6.8,12
218.0.7.30,1956
5.10.83.28,1
5.86.82.80,177
50.18.2.73,1
59.10.5.53,377

但是数据没有按计数排序,任何想法?

答案

如果不明确对数据进行排序,则不会对其进行排序。可以使用ORDER BY进行排序:

counts = FOREACH grp_f5 GENERATE group, COUNT(A) AS cnt;
counts_ordered = ORDER counts BY cnt DESC;

以上是关于apache pig count sort的主要内容,如果未能解决你的问题,请参考以下文章

计算过滤的值 - Apache PIG

Apache Pig:组运算符和变量模式

apache Pig 试图在每个组中获得最大计数

pig 示例 apache [输入路径不存在]

python [代码片段]一些有趣的代码#sort

Apache DataFu: LinkedIn开源的Pig UDF库