hive調優,reduce的設定

2021-08-19 10:10:24 字數 503 閱讀 2964

原因:因為reduce過大會生成好多小檔案,如果這些小檔案作為下乙個job的輸入,則就應該考慮小檔案的合併問題

reduce的數目過少,執行耗時,可能造成資料傾斜的可能性(效能的差的高度原因)

引數的調優1>hive.exec.reducers.bytes.per.reducer=1000000000;(每個reduce處理的資料量的大小,預設是1g)

2>hive.exec.reducers.max=999;(預設的是999)(reducer的最大數,預設是999)

reduce數量的計算公式( n = min(999,檔案的大小/引數1))

在什麼情況下,只有乙個reduce(order by 全域性排序,處理的資料量小於hive.exec.reducers.bytes.per.reducer,沒有group by的彙總)

設定reduce的數量:mapred.reduce.tasks = -1(預設值時-1)當某個job的結果,後邊的job多次引用的時候,設大該引數一便增大後面map的訪問數

hive效能調優

原文 limit 限制調整 因為使用 limit 語句時候,是先執行整個查詢語句,然後再返回部分結果的 set hive.limit.optimize.enable true set hive.limit.row.max.size 10000 set hive.limit.optimize.limi...

Hive效能調優

軟體環境 hive1.2.1 hadoop2.6.4 直接使用hive cli模式執行 1.設定執行引擎 set hive.execution.engine mr set hive.execution.engine spark 如果設定執行引擎為mr,那麼就會呼叫hadoop的maprecude來執...

Hive引數調優

一 map 階段的優化 1.map數的計算公式為 num map tasks max min mapred.min.spilt.size 指的是資料的最小分割單元大小 預設為1b mapred.max.split.size 指的是資料的最大分割單元大小 預設為 256mb dfs.block.siz...