我知道group不能处理多元组,所以我们在pig中有cogroup。不过,今天检查时,组命令对我有效。我用的是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)}}
这个小组应该这样工作吗?分组和共分组的区别是什么?
1条答案
按热度按时间3npbholx1#
是的,团队应该这样工作!
根据文件(http://pig.apache.org/docs/r0.12.0/basic.html#group ) :
注意:group和cogroup运算符是相同的。两个操作符都使用一个或多个关系。对于可读性,group用于涉及一个关系的语句,cogroup用于涉及两个或多个关系的语句。一次最多可以组合127个关系,但不能超过127个。
所以这只是为了可读性,两者没有区别。