这是我试图运行的行
counts = FOREACH z {sum=SUM(B::counter);GENERATE group as A::month,sum;};
但是我收到以下错误:
<file s3://emr-test/kiran/script/goal.pig, line 6, column 28> Invalid field projection. Projected field [B::counter] does not exist in schema: group:chararray,y:bag{:tuple(A::id:chararray,A::month:chararray,B::counter:int)}.
如何在这样一个基于一列分组的元组包的模式上进行总和聚合?
答案 0 :(得分:1)
SUM函数适用于元组的包,其中元组包含int,float等的值。但是这里,bag包含元组的元组。如果你需要执行任何聚合,在这种情况下你必须编写一个UDF,你可以在其中传递包并通过成员解析以找到总和。或者你必须重组数据,使其包含一袋在这里反击
答案 1 :(得分:0)
请检查这是否是您要找的: