Piggybank总计:Sum Over()

时间:2014-05-01 15:03:56

标签: apache-pig running-total

我使用以下猪脚本来计算一个运行总计(猪当地模式)

  Register /home/ec2-user/pig*/bin/piggybank-0.12.0.jar ;   
 define Sum org.apache.pig.piggybank.evaluation.int.Sum();
 define Over org.apache.pig.piggybank.evaluation.Over();
 define Stitch org.apache.pig.piggybank.evaluation.Stitch();
 A = load '/home/ec2-user/staff_data.csv' using PigStorage(',') as (id:int, name:chararray, salary:int, department:chararray);
 B = group A by department;
 C = foreach B {
     C1 = order A by salary;
     generate flatten(Stitch(C1, Over(C1.department, 'Sum(C1.salary)')));
 };

但是,我收到以下错误

未知聚合总和(C1.salary)

任何想法?

修改:

自己想出答案。这是:

  Register /home/ec2-user/pig*/bin/piggybank-0.12.0.jar ;   
 define Over org.apache.pig.piggybank.evaluation.Over();
 define Stitch org.apache.pig.piggybank.evaluation.Stitch();
 A = load '/home/ec2-user/staff_data.csv' using PigStorage(',') as (id:int, name:chararray, salary:int, department:chararray);
 B = group A by department;
 C = foreach B {
     C1 = order A by salary;
     generate flatten(Stitch(C1, Over(C1.salary, 'sum(int)')));
 };

0 个答案:

没有答案