gpt4 book ai didi

join - pig : Outer join on more than 2 relations

转载 作者:行者123 更新时间:2023-12-01 05:27:28 25 4
gpt4 key购买 nike

我想做一个涉及 3 个表的外连接。我试过这个:

features = JOIN group_event by group left outer, group_session by group, group_order by group;

我希望 group_event 的所有行都出现在输出中,即使其他两个关系中的一个或两个都不匹配。

上面的命令不起作用。显然,因为它不应该工作(http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#JOIN+%28outer%29)
Outer joins will only work for two-way joins; to perform a multi-way outer join, you will need to perform multiple two-way outer join statements.

拆分工作,可以像这样完成:
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;

在单个命令中执行此操作的任何想法? (如果我加入更多的 table 会很有用)

最佳答案

我认为在某些时候,我们需要信任文档,不要尝试单个命令多个外连接。

为什么?以下行应该如何工作?

JOIN a BY a1 LEFT OUTER, b BY b1, c BY c1

LEFT OUTER为两张 table 工作,还是只为第一个 table 工作?如果是前者,那么应该 LEFT OUTER之间 bc删除所有在 b 中不匹配的记录?或在 a ?你找得越多,它就越没有意义,不是吗?

您要做的是 JOIN关系 ab进入 ab然后 abc .仔细想想,由于中间状态 ab,在单个命令中做这件事并不自然。 .

关于join - pig : Outer join on more than 2 relations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com