HiveQL UNION ALL

dum*_*mmy 12 union hadoop hive hiveql

我有table_A:

id var1 var2
1   a    b
2   c    d
Run Code Online (Sandbox Code Playgroud)

表-B:

id var1 var2  
3   e    f
4   g    h
Run Code Online (Sandbox Code Playgroud)

我想要的只是桌子,合并:

id var1 var2
1   a    b
2   c    d
3   e    f
4   g    h 
Run Code Online (Sandbox Code Playgroud)

这是我的.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;
Run Code Online (Sandbox Code Playgroud)

我是直接从Edward Capriolo等人的Programming Hive第112页编写的.

我得到的错误,无论我尝试的上述表面上合理的变化,都是" cannot recognize input near '.' 'id' ',' in select expression."

我已经尝试在表名和别名之间使用"as",星号,因为我想要两个表中的所有内容.同样的错误.我尝试了其他的东西并得到了其他错误......我想做的就是UNION两张桌子.(我尝试过UNION而不是UNION ALL - 同样的错误).

Lor*_*dig 14

只需用另一个单词替换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;
Run Code Online (Sandbox Code Playgroud)