gpt4 book ai didi

带有 OR 条件的 Hive 连接

转载 作者:行者123 更新时间:2023-12-04 18:01:39 25 4
gpt4 key购买 nike

我有一张很大的 table TAB1我需要从中选择符合条件的行

(TAB1.KEY1 = TAB2.KEY1 OR TAB1.KEY1 = TAB2.KEY2) AND TAB1.KEY2 = TAB2.KEY3 

哪里 TAB2是一张很小的 table 。

我不能仅仅通过在 hive 中加入这两个表来做到这一点,因为 hive 不支持使用 OR 条件进行连接。我试图通过使用 union 子句来分离这些条件,但由于两个连接与大表,它似乎要贵得多。

有没有更好的方法来完成这项工作?附言我使用 hive 0.13

最佳答案

映射连接应该仅在一个表比另一个表小得多的假设下使用,我认为这里不是这种情况。
但是,提到map side join的解决方案也有实际通用的解决方案,即将查询从JOIN改为JOIN/WHERE组合。

SELECT ... FROM TAB1 JOIN TAB2 ON (TAB1.KEY2 = TAB2.KEY3 )  
WHERE (TAB1.KEY1 = TAB2.KEY1 OR TAB1.KEY1 = TAB2.KEY2)

关于带有 OR 条件的 Hive 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34358460/

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