Join Pig:多个关系上的外部联接

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(百分比

我想做一个涉及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(百分比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