20 mapreduce推測執行機制

2021-10-04 02:46:51 字數 362 閱讀 9085

1、推測執行機制實際上是hadoop提供的一種針對慢任務的優化方法: 當出現慢任務的時候,hadoop會將這個慢任務複製乙份放到其他節點上,兩個節點同時執行相同的任務,誰先執行完,那麼結果就作為最後的結果,另乙個沒有執行完的任務就會被kill掉

2、慢任務出現的場景:

任務分配不均勻

機器效能不均等

資料傾斜

3、優化

如果慢任務是由於上述的前兩個因素導致的,那麼可以通過推測執行機制實現優化。多個任務同時跑,誰先跑完用誰的結果。

但是如果是由於資料傾斜導致的慢任務,推測執行機制是沒有用的,反而還會加劇集群的資源消耗。不幸的是,在實際開發中,慢任務的發生通常是因為資料傾斜,所以也因此一般會關閉推測執行機制。

MapReduce的推測執行(Hive優化)

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

mapreduce推測執行目前版本的判定準則

目前版本的判定準則 新版本仍然對每個任務至多排程2個執行例項 預設引數設定 但目前的hadoop版本中的推測任務判定 重點關注新啟動的備份任務是否有潛力比當前正在執行的任務完成得更早。如果通過一定的演算法推測某一時刻啟動備份任務,該備份任務肯定會比當前任務完成得晚,那麼啟動該備份任務只會浪費更多的資...

Hive 推測執行

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