我知道Group无法使用多个元组,因此我们在PIG中使用了COGROUP。但是,今天检查时,GROUP命令对我有用。我正在使用PIG-0.12.0。我的命令和输出如下。
grunt> grpvar = GROUP C by $2, B by $2;
grunt> cogrpvar = COGROUP C by $2, B by $2;
grunt> describe grpvar;
grpvar: {group: chararray,C: {(pid: int,pname: chararray,drug: chararray,gender: chararray,tot_amt: int)},B: {(pid: int,pname: chararray,drug: chararray,gender: chararray,tot_amt: int)}}
grunt> describe cogrpvar;
cogrpvar: {group: chararray,C: {(pid: int,pname: chararray,drug: chararray,gender: chararray,tot_amt: int)},B: {(pid: int,pname: chararray,drug: chararray,gender: chararray,tot_amt: int)}}
希望GROUP像这样工作吗?GROUP和COGROUP它们有什么区别?
是的,小组应该那样工作!
根据文档(http://pig.apache.org/docs/r0.12.0/basic.html#group):
注意:GROUP和COGROUP运算符相同。两家运营商都有一个或多个关系。为了提高可读性,GROUP用于涉及一个关系的语句,而COGROUP用于涉及两个或多个关系的语句。您一次最多可以COGROUP,最多不能超过127个关系。
因此,仅出于可读性考虑,两者之间没有区别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句