【发布时间】:2014-04-02 19:51:26
【问题描述】:
我是 PIG 的新手,我试图弄清楚如何在组内获得最低排名。 我想要的是从以下数据集中获得:
ID clickcounter
A A1
A A2
A A3
B B1
B B2
C C1
D D1
E E1
E E2
E E3
E E4
...到以下数据集:
ID clickcounter Rank minRank_of_ID
A A1 1 1
A A2 2 1
A A3 3 1
B B1 4 4
B B2 5 4
C C1 6 6
D D1 7 7
E E1 8 8
E E2 9 8
E E3 10 8
E E4 11 8
我尝试了以下代码并且它正在运行,但是我想知道是否有更好的解决方案?
A = LOAD 'datapath' using PigStorage() as (ID:chararray, clickcount:chararray);
B = rank A;
C = group B by ID;
D = foreach C generate group, flatten($1.clickcount), MIN($1.rank_A);
E = rank D;
Dump D;
【问题讨论】:
标签: apache-pig ranking rank