2015-10-16 6 views
6

ハイブのバージョン:1.2.1HiveのSQL "Alter Table/Partition Concatenate"ファイルの生成を減らすには?

構成:

set hive.execution.engine=tez; 
set hive.merge.mapredfiles=true; 
set hive.merge.smallfiles.avgsize=256000000; 
set hive.merge.tezfiles=true; 

HQL:

ALTER TABLE `table_name` PARTITION (partion_name1 = 'val1', partion_name2='val2', partion_name3='val3', partion_name4='val4') CONCATENATE; 

私は特定のテーブル/パーティションのファイルをマージするHQLを使用しています。しかし、実行後も出力ディレクトリにはまだ多くのファイルがあります。それらのサイズは256000000よりはるかに小さいです。どのように出力ファイルの数を減らすか。

ところで、Tezの代わりにMapReduceを使用しても動作しませんでした。

+0

あなたはテーブルDDLを投稿できますか? – SrinivasR

答えて

-1

還元剤番号を1に設定すると、出力ファイルが1つだけ作成されます。

あなたは以下のことを行うことができます。

set mapred.reduce.tasks=1 
+0

使用される実行エンジンはtezです... – mgaido

+0

コメントを確認してください:BTW、Tezの代わりにMapReduceを使用しても動作しませんでした。したがって、MapReduceを使用しても構いません。さらに、上記の設定をTezにも使用できます。 – Ducaz035

+0

とにかく私はこれが解決しないことを保証することができます – mgaido

-1

たぶんuがこの1つはtezfilesの設定マージを使用することができますinsert overwrite table ... partition (...) select * from ...

を試すことができます。

関連する問題