Apache pig PIG中AVG()函数上的ORDER BY
如何在列上使用avg(),然后用拉丁语按降序排序? 例如: 如果我有下面这样的行,其中最后一列(4.5,3.5,2.5,5.0)是AVG()操作的结果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
((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)