我有一个像这样的猪 DESCRIBE:
DESCRIBE B;
B: {group: chararray, A: {name: chararray,age: int,gpa: float}}
我想在 Pig中计算∑B.A.gpa2
但如果我写:
FOREACH B {
out = SUM(A.gpa * A.gpa);
}
它抛出了这样的异常:
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1039: <file test.pig, line xx, column xx> (Name: Multiply Type: null Uid: null)incompatible types in Multiply Operator left hand side:bag :tuple(gpa:float) right hand side:bag :tuple(gap:float)
我已经向 Pig group 寻求解决方案,这是 jira链接
有人对我的问题有其他建议吗?
我的临时解决方案是
FOREACH B {
tmp_out = FOREACH A GENERATE gpa*gap;
out = SUM(tmp_out);
}