hive小檔案優化 01

2022-08-29 11:15:16 字數 757 閱讀 1356

輸入小檔案優化

--輸入檔案最大拆分大小,這裡設定為128m

set mapred.max.split.size=128000000;

--128m

set mapred.min.split.size.per.node=128000000;

--128m

set mapred.min.split.size.per.rack=128000000;

--輸入端的合併類

set hive.input.format=org.apache.hadoop.hive.ql.io.combinehiveinputformat;

輸出小檔案優化
--設定有多少reducer來處理輸出,這裡設定1g由乙個reducer輸出,對於沒有reducer的,這裡將會失效

set hive.exec.reducers.bytes.per.reducer=1000000000;

--在map-only的任務結束時合併小檔案

set hive.merge.mapfiles=true;

--在map-reduce的任務結束時合併小檔案

set hive.merge.mapredfiles=true;

--設定reduce task的數量

set mapred.reduce.tasks = 8;

--每個任務最大的reduce數,預設為999

set hive.exec.reducers.max=200;

hive優化之小檔案合併

檔案數目過多,會給hdfs帶來壓力,並且會影響處理效率,可以通過合併map和reduce的結果檔案來消除這樣的影響 set hive.merge.mapfiles true 在 map only 的任務結束時合併小檔案 set hive.merge.mapredfiles false true 時在...

hive小檔案合併機制 Hive小檔案合併遷移

1 需求 2 小檔案合併 我們通過sparksql進行小檔案合併,首先開啟spark shell申請足夠多的資源 spark shell master yarn driver memory 20g driver cores 4 executor cores 6 num executors 18 ex...

Hadoop小檔案優化

1 影響namenode的壽命,因為檔案元資料儲存在namenode的記憶體中 2 影響計算引擎的任務數量,比如每個小的檔案都會生成乙個map任務 1 合併小檔案 對小檔案進行歸檔 har 自定義inputformat將小檔案儲存成sequencefile文 件。2 採用combinefileinp...