我理解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有什么区别?
是的组应该像那样工作!
根据文档(http://pig.apache.org/docs/r0.12.0/basic.html#group):
注意:GROUP和COGROUP运算符完全相同.两个运营商都使用一个或多个关系.为了便于阅读,GROUP用于涉及一个关系的语句,COGROUP用于涉及两个或多个关系的语句.您可以一次COGROUP最多但不超过127个关系.
所以它只是为了可读性,两者之间没有区别.
| 归档时间: |
|
| 查看次数: |
17064 次 |
| 最近记录: |