第九章 Hive企業級優化之並行執行

2021-09-29 10:43:58 字數 535 閱讀 9994

hive會將乙個查詢轉化成乙個或者多個階段。這樣的階段可以是mapreduce階段、抽樣階段、合併階段、limit階段。或者hive執行過程中可能需要的其他階段。預設情況下,hive一次只會執行乙個階段。不過,某個特定的job可能包含眾多的階段,而這些階段可能並非完全互相依賴的,也就是說有些階段是可以並行執行的,這樣可能使得整個job的執行時間縮短。不過,如果有更多的階段可以並行執行,那麼job可能就越快完成。

通過設定引數hive.exec.parallel值為true,就可以開啟併發執行。不過,在共享集群中,需要注意下,如果job中並行階段增多,那麼集群利用率就會增加。

set hive.

exec

.parallel=

true

;//開啟任務並行執行

set hive.

exec

.parallel.thread.number=16;

//同乙個sql允許最大並行度,預設為8。

當然,得是在系統資源比較空閒的時候才有優勢,否則,沒資源,並行也起不來。

第九章 Hive企業級優化之推測執行

在分布式集群環境下,因為程式bug 包括hadoop本身的bug 負載不均衡或者資源分布不均等原因,會造成同乙個作業的多個任務之間執行速度不一致,有些任務的執行速度可能明顯慢於其他任務 比如乙個作業的某個任務進度只有50 而其他所有任務已經執行完畢 則這些任務會拖慢作業的整體執行進度。為了避免這種情...

第九章 Hive企業級調優之動態分割槽調整

關係型資料庫中,對分割槽表insert資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用hive的動態分割槽,需要進行相應的配置。1 開啟動態分割槽引數設定 1 開啟動態分割槽功能 預設t...

Docker第九章 企業級私有倉庫Harbor

sudo curl l s uname m o usr local bin docker compose2 給compose二進位制賦予可執行許可權 chmod x usr local bin docker compose1 解壓harbor tar zxvf harbor offline inst...