2017-01-27 12 views
1

2つのテーブルを結合するためのハイブクエリを作成しています。テーブル1とテーブル2。結果では、table1のすべての列とtable2の列が必要です。ハイブは、1つのテーブルの列を一覧表示するためにクエリを結合します。

私は、select文でtable1.column1、table1.column2 ..などを指定することで、すべての列を手動で選択できる解決法を知っています。しかし、私はテーブル1に約22の列を持っています。また、私は複数の他のテーブルに対して同じことをしなければなりません。

「SELECT table1。*」を使用してみましたが、解析例外が発生しました。

良い方法がありますか?

+0

あなたは2つのテーブルtable1とtable2を結合し、次にtable1のすべてのカラムとtable2のカラムを必要とすると言ったとします。 なぜあなたは参加しましたか? –

+0

私は混乱しているかもしれませんが、あなたの質問を理解するのを助けることができますか? –

+1

あなたはtable1を実行できるはずです。*、あなたはスタックを提供できますか? – hlagos

答えて

0

ハイブ0.13以降は、次のクエリ構文は動作します:

SELECT a.* FROM a JOIN b ON (a.id = b.id)

このクエリからすべての列を選択します。したがって、すべての列名を入力するのではなく(クエリを煩雑にする)、テーブルアリアを使用することをお勧めします。*

+0

これは解決策であるかもしれませんが、なぜこれがうまくいって問題を解決するのかを説明し、将来の読者がこの回答に遭遇した読者が正確に何をしているのかを詳しく説明することは良い考えです。 –

+0

"SELECT table1。*"で例外を解析するための元の質問がありますが、解析例外が発生します。 これは、以前のハイブバージョンを0.13未満に使用したためでした –

関連する問題