我有一个清单如下。
from to duration
5 10 1
10 30 15
10 30 25
5 10 10
10 40 15
5 20 5
我需要找到最常见的从到对,如下所示。
from to count
10 30 2
5 10 2
我将它们按“从,到”进行分组,我可以找到如下计数。
10 30 2
10 40 1
5 20 1
5 10 2
如何只提取最大对数。
a = load 'x' using PigStorage;
b = group a by (from, to);
c = foreach b {
d = COUNT(c);
generate group, d;};
e = group d all;
f = foreach e {
g = order e by d;
h = limit g 1;
generate group, h; };
2条答案
按热度按时间a7qyws3x1#
以上这些肯定有用。我想过这样写逻辑。但这里的代码很长。
如果你觉得有用,请检查一下
oipij1gg2#
你能试着告诉我这对你有用吗。
更新:
如果你没有
RANK
操作员,下载piggbank.jar
并将其设置在类路径中,然后尝试下面的方法。输入文件
pigscript:pig version<11
输出:
pigscript:pigversion >=11支持秩运算符
输出: