我有一个包含几个数字的元组。例如:
(a:17, b:14, c:123, d:23, e:37)
找到该元组中数字的中位数的最佳方法是什么?因此,对于上面的一个元组,我应该得到一个单值元组,其中单值是其中一个输入元组中值的中位数。
这样的事情:
x = LOAD '/path/to/tuples.csv' USING PigLoader(',') AS (a:int, b:int, c:int, d:int, e:int);
y = FOREACH x GENERATE MEDIAN(a, b, c, d, e);
我只是不知道如何构建上面的MEDIAN
函数。我希望我不需要UDF!
答案 0 :(得分:1)
MEDIAN适用于BAG内的多个元组。您需要从a,b,c,d和e中创建BAG,然后将包传递给MEDIAN函数。