hive常用引數調優

2021-10-05 02:42:28 字數 1392 閱讀 1478

決定是否可以在 map 端進行聚合操作

開啟資料傾斜時的負載均衡

設定所提交 job 的 reduer 的個數

hive map join 所快取的行數。

決定 hive 是否應該自動地根據輸入檔案大小,在本地執行

需要合併的小檔案群的平均大小,預設 16 m。

是否根據輸入小表的大小,自動將 reduce 端的 common join 轉化為 map join,從而加快大表關聯小表的 join 速度。

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

是否開啟合併 map 端小檔案,當hive輸入由很多個小檔案組成,由於每個小檔案都會啟動乙個map任務,如果檔案過小,會使得map任務啟動和初始化的時間大於邏輯處理的時間,造成資源浪費。為此,當我們啟動乙個任務,發現輸入資料量小但任務數量多時,需要注意在map前端進行輸入合併。當然,在我們向乙個表寫資料時,也需要注意輸出檔案大小

是否開啟合併 map/reduce 小檔案,即是否在map-reduce的任務結束時合併小檔案

是否開啟 map/reduce job的併發提交。

當使用limit語句時,其可以對資料來源進行抽樣,避免執行整個查詢語句,然後再返回部分結果

但這個功能有個缺點,有可能輸入中有用的資料永遠不會被處理到。

設定reducer個數的上限,可以阻止某個查詢消耗過多的reducer資源,對這個屬性值大小的設定,乙個建議的計算公式如下:

(集群總reduce槽位個數*1.5) / (執行中查詢的平均個數)

1.5倍數是乙個經驗係數,用於防止未充分利用集群的情況。

乙個特別的優化,是否將查詢中的多個group by操作組裝到單個mapreduce任務中。

false

是否開啟動態分割槽。

開啟動態分割槽後,動態分割槽的模式,有 strict 和 nonstrict 兩個值可選,strict 要求至少包含乙個靜態分割槽列,nonstrict 則無此要求。

/tmp//hive

hdfs路徑,用於儲存不同 map/reduce 階段的執行計畫和這些階段的中間輸出結果。

hive join 操作的發生時間間隔,以毫秒為單位。

hive map 端聚合的哈稀儲存所占用虛擬機器的記憶體比例。

hive map 端聚合的哈稀儲存的最小 reduce 比例。

每個任務合併後檔案的大小,根據此大小確定 reducer 的個數,預設 256 m。

map reduce job 的最小輸入切分大小,與 hadoop client 使用相同的配置。

map join 所處理的最大的行數。超過此行數,map join程序會異常退出。

設定每多少行檢測一次記憶體的大小,如果超過 hive.mapjoin.localtask.max.memory.usage 則會異常退出,map join 失敗。

是否優化 group by。

Hive引數調優

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

CPU常用引數調優

cpu 時間片長,優先順序低 io 時間片短,優先順序高 檢視cpu實時狀態命令 top w vmstat 1 5 uptime sar q 可以實時取樣也可以檢視過去cpu使用情況 檢視cpu使用率命令 mpstat 可檢視指定的cpu使用率,也可檢視全部cpu使用率 sar p all 1 2 ...

Dubbo常用調優引數

dubbo是阿里開源的一款流行的分布式服務框架,有必要了解其常用調優引數 引數名作用範圍預設值說明備註 threads provider 200業務處理執行緒池大小 iothreads provider cpu 1 io執行緒池大小 queues provider 0執行緒池佇列大小,當執行緒池滿時...