PIG中GROUP和COGROUP有什么区别?

pro*_*ray 6 hadoop apache-pig

我理解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)}}
Run Code Online (Sandbox Code Playgroud)

GROUP预计会像这样工作吗?GROUP和COGROUP有什么区别?

Tib*_*o R 8

是的组应该像那样工作!

根据文档(http://pig.apache.org/docs/r0.12.0/basic.html#group):

注意:GROUP和COGROUP运算符完全相同.两个运营商都使用一个或多个关系.为了便于阅读,GROUP用于涉及一个关系的语句,COGROUP用于涉及两个或多个关系的语句.您可以一次COGROUP最多但不超过127个关系.

所以它只是为了可读性,两者之间没有区别.