PIG中的SUM函数

时间:2016-06-24 18:05:28

标签: apache-pig apache-pig-grunt

开始学习Pig latin脚本并坚持下面的问题。没有任何运气,我对同一主题也有类似的问题!想要找到所有年龄领域的总和。

  DUMP X;
(22)(19)
grunt> DESCRIBE X;
X: {age: int}

我尝试了几个选项,例如:

Y = FOREACH ( group X all ) GENERATE SUM(X.age);

但是,低于例外。

 Invalid field projection. Projected field [age] does not exist in schema: group:chararray,X:bag{:tuple(age:int)}.

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

我认为Y投影应该像你写的一样工作。这是一个很小的示例代码,对我来说这很好。

 X = LOAD 'SO/sum_age.txt' USING PigStorage('\t') AS (age:int);
 DESCRIBE X;
 Y = FOREACH ( group X all ) GENERATE 
     SUM(X.age);
 DESCRIBE Y;
 DUMP Y;

所以你的问题看起来很奇怪。我使用了以下输入数据:

-bash-4.1$ cat sum_age.txt 
22
19

您可以使用我在此处插入的脚本尝试相同的数据吗?