group
在http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#FOREACH的以下两个示例中做了什么:
示例:嵌套投影
在此示例中,如果输入关系中的某个字段是元组,包或地图,我们可以在该字段上执行投影(使用deference运算符)。
X = FOREACH C GENERATE组,B.b2;
DUMP X; (1,{(3)}) (4, - {(6),(9)}) (8,{(9)})
在此示例中,将保留多个嵌套列。
X = FOREACH C GENERATE组,A。(a1,a2);
DUMP X; (1,{(1,2)}) (4,{(4,2),(4,3)}) (8,{(8,3),(8,4)})
使用group
和使用GROUP
?
示例:
示例:展平
在此示例中,FLATTEN运算符用于消除嵌套。
X = FOREACH C GENERATE组,FLATTEN(A);
DUMP X; (1,1,2,3) (4,4,2,1) (4,4,3,3) (8,8,3,4) (8,8,4,3)
另一个FLATTEN例子。
X = FOR CAC GENERACH GROUP,FLATTEN(A.a3);
DUMP X; (1,3) (4,1) (4,3) (8,4) (8,3)
答案 0 :(得分:0)
来自http://pig.apache.org/docs/r0.11.0/basic.html#GROUP
The first field is named "group" (do not confuse this with the GROUP operator) and is the same type as the group key.
字段名称区分大小写,因此GROUP
运算符不会创建字段“GROUP”。在我看来,这是猪文件中的一个小错误。