0

开始学习 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)}.

感谢您的时间和帮助。

4

1 回答 1

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

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

于 2016-06-27T20:10:15.000 回答