16

私はtable_Aを持っています:

id var1 var2
1   a    b
2   c    d

テーブル_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 ページから直接コーディングしています。

私が試した上記の一見合理的なバリエーションに関係なく、私が得るエラーは

cannot recognize input near '.' 'id' ',' in select expression.

AS両方のテーブルのすべてが必要なので、テーブル名とエイリアスの間でアスタリスクを使用してみました。同じエラー。他のことを試してみましたが、他のエラーが発生しました...やりたいのはUNION2つのテーブルだけです。UNION(代わりに試しましたUNION ALL—同じエラー)。

4

3 に答える 3

15

すべてを別の単語に置き換えるだけです。予約済みのキーワードのようです。例えば:

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;
于 2012-12-31T13:52:49.203 に答える