如何解决Hive中的左连接问题



也许有人知道Hive左连接问题的答案。

1。假设我有:

table A.c1  table A.c2        table B.c1  table B.c2  table B.c3
2021-05     1701              2021-05     1701        May 5
2021-06     1701              2021-06     1701        June 7
2021-07     1701 
         

2。当我输入像

这样的脚本时
select table A.* , table B.c3 
from table A left join table B 
on table A.c1 = table B.c1 and table A.c2 = table B.c2

3。Hive将返回

table C.c1  table C.c2 table C.c3
2021-05     1701       May 5
2021-06     1701       June 7

4。但我想以某种方式得到这个结果(因为我记得'左连接'在MS SQL中是这样工作的)

table C.c1  table C.c2 table C.c3
2021-05     1701       May 5
2021-06     1701       June 7
2021-07     1701       NULL

我的脚本是正确的还是不那么简单做这样的结果?

尝试使用右连接,因为右表没有满足左表的条件。

select table A.* , table B.c3 
from table A right outer join table B 
on table A.c1 = table B.c1 and table A.c2 = table B.c2

HiveQL RIGHT OUTER JOIN返回右表中的所有行,即使左表中没有匹配