首页 > 解决方案 > Hive:如何连接两个表,以便两列中的所有条目都在最后?

问题描述

我在 Hive 有两张桌子

t1:
prod | rev
-------------
A |   1
A |   2
B |   1
B |   2
D |   1


t2:
prod | rev
-------------
A |   1
A |   2
B |   1
B |   2
C |   1
C |   2

我想将它们连接在一起,以便所有产品 (prod) 和修订 (rev) 都在决赛桌中,例如。

t3:
prod | rev
-------------
A |   1
A |   2
B |   1
B |   2
C |   1
C |   2
D |   1

我已经尝试过,但对 HQL 不够熟悉,无法理解如何正确地做到这一点。

我相信也许一个 LEFT JOIN 然后 UNION ALL 然后 RIGHT JOIN 会起作用。并在 UNION ALL 之后使用 WHERE 语句来删除重复项,但我无法编写有效的查询。希望对此有任何帮助。

标签: joinmergehivehiveql

解决方案


Aunion应该这样做。

select * from t1
union
select * from t2;

推荐阅读