Hive:如何连接两个表,使两列中的所有条目都在最终表中?

Hive: How to join two tables such that all entries from two columns are in the final able?

我在 Hive 中有两个 table

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) 都在最后 table 例如。

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 语句来删除重复项,但我无法编写有效的查询。希望对此有任何帮助。

一个union应该可以做到。

select * from t1
union
select * from t2;

您可以尝试UNION DISTINCT,它可以消除输出中的重复项

select * from t1
UNION DISTINCT
select * from t2