6

ハイブのバージョン: 1.2.1

構成:

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 を使用しても機能しませんでした。

4

2 に答える 2

-1

レデューサー番号を 1 に設定すると、出力ファイルが 1 つだけ作成されます。

次の方法でそれを行うことができます。

set mapred.reduce.tasks=1
于 2016-04-19T13:20:41.603 に答える