我有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/

10-16 01:27