Join Pig:多个关系上的外部联接
我想做一个涉及3个表的外部联接。我试过这个:Join Pig:多个关系上的外部联接,join,apache-pig,bigdata,Join,Apache Pig,Bigdata,我想做一个涉及3个表的外部联接。我试过这个: features = JOIN group_event by group left outer, group_session by group, group_order by group; 我希望group_事件的所有行都出现在输出中,即使其他两个关系中的一个或两个都不匹配 上面的命令不起作用。显然,因为它不应该起作用(http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#JOIN+%28(百分比
features = JOIN group_event by group left outer, group_session by group, group_order by group;
我希望group_事件的所有行都出现在输出中,即使其他两个关系中的一个或两个都不匹配
上面的命令不起作用。显然,因为它不应该起作用(http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#JOIN+%28(百分比29)
拆分的工作方式如下所示:
features1 = JOIN group_event by group left outer, group_session by group;
features2 = JOIN features1 by group_event::group left outer, group_order by group;
用一个命令就可以做到这一点吗?(如果我连接更多的表,这将非常有用)我认为在某些时候,我们需要信任文档,不要尝试单命令多外部连接 为什么??下面的行应该如何工作
JOIN a BY a1 LEFT OUTER, b BY b1, c BY c1
左外
是否适用于两个表,还是仅适用于第一个表?如果是前者,那么b
和c
之间的左外
是否应该删除b
中不匹配的所有记录?还是在a
中?你越是寻找它,它就越没有意义,不是吗
您要做的是将与b
的关系a
连接到ab
中,然后将ab
与c
连接。如果您仔细想想,在单个命令中执行此操作是不自然的,因为中间状态为ab
JOIN a BY a1 LEFT OUTER, b BY b1, c BY c1