在Pig中为多个列使用SUM时出错

时间:2017-05-24 06:49:41

标签: hadoop apache-pig

以下是非结构化猪的输入数据

file1.txt
---------
input|key1|id1|1|1|2|3
input|key1|id1|1|0|1
input|key1|id1|1|1

预期输出是单个记录,其中前3列值对于所有记录都相同,我需要总结第4个和第4个列。第5栏。

key1|id1|3|2 

以下是错误:

data = load 'file1.txt' using PigStorage('|');
temp1 = foreach data generate $1,$2,sum($3),sum($4);
  

错误org.apache.pig.tools.grunt.Grunt - ERROR 1070:无法解决   使用导入求和:[,java.lang。,org.apache.pig.builtin。,   org.apache.pig.impl.builtin。]

1 个答案:

答案 0 :(得分:1)

您需要group数据,然后使用SUM。此外,SUM将是大写,这就是你的错误。

data = load 'file.txt' using PigStorage('|');
grouped = GROUP data by ($0, $1, $2);
result = FOREACH grouped generate FlATTEN(group), SUM((int)$3), SUM((int)$4);
DUMP result;