我需要在每一行中找到列的总和。
考虑数据集
A,1,5,45,25,20
B,5,50,5,23,12
C,1,25,4,15,23
我正在尝试获得如下输出
(A,96)
(B,95)
(C,68)
我不能使用内置的SUM
函数。我应该编写自定义UDF
还是有其他方法来执行此操作
答案 0 :(得分:2)
您可以定义架构并尝试以下方法。
<强>输入强>
A,1,5,45,25,20
B,5,50,5,23,12
C,1,25,4,15,23
<强> PigScript:强>
A = LOAD 'input' USING PigStorage(',') AS(f1:chararray,f2:int,f3:int,f4:int,f5:int,f6:int);
B = FOREACH A GENERATE f1,SUM(TOBAG(f2..));
DUMP B;
<强>输出:强>
(A,96)
(B,95)
(C,68)