我正在编写一个应该计算每行平均值的猪脚本。 输入是这样的:
(11, 10)
(12, 108)
(14, 106)
(40, 101)
(96, 104)
(112, 410)
我想计算每行的平均值
average(11,10)
average(12,108)
average(14,106)
average(40,101)
...
我该怎么办?
答案 0 :(得分:0)
为了计算平均值,Pig有一个名为AVG的内置函数。 AVG将一个包作为参数,因此您需要根据您的值创建一个包。这可以通过下面的脚本完成。
如果您在一行中有两个以上的值,则下面的脚本不介意,因此您可以根据自己的喜好更改A.
A = LOAD 'data.txt' AS (a:int, b:int);
B = FOREACH A GENERATE TOBAG($0..) AS values;
C = FOREACH B GENERATE AVG(values);