找到猪每行的总和

时间:2014-12-30 14:17:07

标签: apache-pig

我需要在每一行中找到列的总和。

考虑数据集

   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还是有其他方法来执行此操作

1 个答案:

答案 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)