Apache pig PIG中AVG()函数上的ORDER BY

Apache pig PIG中AVG()函数上的ORDER BY,apache-pig,Apache Pig,如何在列上使用avg(),然后用拉丁语按降序排序? 例如: 如果我有下面这样的行,其中最后一列(4.5,3.5,2.5,5.0)是AVG()操作的结果 ((1,Apple),4.5) ((2,Orange),3.5) ((3,Kiwi),2.5) ((4,Banana),5.0) My desired output is ((4,Banana),5.0) ((1,Apple),4.5) ((2,Orange),3.5) ((3,Kiwi),2.5) 提前谢谢 使用关系运算符。例如: da

如何在列上使用avg(),然后用拉丁语按降序排序? 例如: 如果我有下面这样的行,其中最后一列(4.5,3.5,2.5,5.0)是AVG()操作的结果

((1,Apple),4.5)
((2,Orange),3.5)
((3,Kiwi),2.5)
((4,Banana),5.0)

My desired output is 
((4,Banana),5.0)
((1,Apple),4.5)
((2,Orange),3.5)
((3,Kiwi),2.5) 
提前谢谢

使用关系运算符。例如:

data = LOAD 'input' using PigStorage(',') AS (key1:int,key2:chararray,val:double);

data = FOREACH (GROUP data BY (key1,key2))
  GENERATE group as key, AVG(data.val) as avg_val;

data = ORDER data BY avg_val DESC;

STORE data INTO 'output';
如果这是您的输入:

1,Apple,3.5
1,Apple,5.5
2,Orange,2.5
2,Orange,4.5
3,Kiwi,1.5
3,Kiwi,3.5
4,Banana,4.0
4,Banana,6.0
您将获得以下输出:

((4,Banana),5.0)
((1,Apple),4.5)
((2,Orange),3.5)
((3,Kiwi),2.5)