ハイブunion all
を使用して1つのファイルに複数のファイルが結合されていますが、union all
クエリは10個を超えるHiveテーブルを結合し、非常に遅くなりました。各個別のunion all
クエリには、1つ以上の結合条件もあります。ハイブパフォーマンスユニオンall
私の予想最終結果は、例えば、主キーによってグループ化する必要がある:
table 1
key1|val1|val2|..
table 2
key1|val10|val11|..
insert overwrite <temptable>
select key, output_string from
(select key, concat (col1,col2,..) from table 1 where <join conditions>
union all
select key, concat(col10,col11,..) from table 2 where <join conditions>
..
)
cluster by key;
union all
は、所望の結果を得るために重要なことで、私はクラスタを使用している二つのテーブルの上に結合します。ハイブのパフォーマンスは非常に遅いですが、他の選択肢は何ですか?
私は@ veeraBの回答を参照してください。最初の質問は、個々のクエリのそれぞれがどれくらい時間を取っているかということです。長時間実行されているものはすべて、 'union'チェーンに影響します。次の質問は、Hiveがそれぞれのクエリを並列に実行するような方法でクエリを解析できるかどうかです。これは、おそらく 'EXPLAIN'によって観察されるか、または実行時に見ているだけです。もしそうでなければ、 'hive.optimize.union.remove'設定を考慮するオプションかもしれません。 –