我有table_A:
id var1 var2
1 a b
2 c d
Table_B:
id var1 var2
3 e f
4 g h
我想要的只是表,结合起来:
id var1 var2
1 a b
2 c d
3 e f
4 g h
这是我的.hql:
CREATE TABLE combined AS
SELECT all.id, all.var1, all.var2
FROM (
SELECT a.id, a.var1, a.var2
FROM table_A a
UNION ALL
SELECT b.id, b.var1, b.var2
FROM table_B b
) all;
我直接从Edward Capriolo等人的Programming Hive的第112页进行编码。
无论我尝试上述哪种表面上合理的变化,我得到的错误都是
我尝试在表名和别名星号之间使用
AS
,因为我希望从两个表中都获取内容。同样的错误。我已经尝试了其他方法并得到了其他错误...我要做的就是UNION
两个表。 (我尝试使用UNION
而不是UNION ALL
-同样的错误)。 最佳答案
只需用另一个词替换所有内容。它似乎是一个保留关键字。例如:
CREATE TABLE combined AS
SELECT unioned.id, unioned.var1, unioned.var2
FROM (
SELECT a.id, a.var1, a.var2
FROM table_A a
UNION ALL
SELECT b.id, b.var1, b.var2
from table_B b
) unioned;
关于hadoop - HiveQL UNION ALL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14096968/