首頁技術(shù)文章正文

MapReduce性能優(yōu)化策略(上)

更新時間:2022-04-13 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  1.數(shù)據(jù)輸入

  在執(zhí)行MapReduce任務(wù)前,將小文件進行合并,大量的小文件會產(chǎn)生大量的map任務(wù),增大map任務(wù)裝載的次數(shù),而任務(wù)的裝載比較耗時,從而導(dǎo)致MapReudce運行速度較慢。因此采用CombineTextInputFormat來作為輸入,解決輸入端大量的小文件場景。

  2.Map階段

  (1)減少溢寫(spill)次數(shù):通過調(diào)整io.sort.mb及sort.spill.percent參數(shù)值,增大觸發(fā)spill的內(nèi)存上限,減少spill次數(shù),從而減少磁盤I/O。

  (2)減少合并(merge)次數(shù):通過調(diào)整io.sort.factor參數(shù),增大merge的文件數(shù)目,減少merge的次數(shù),從而縮短mr處理時間。

  (3)在map之后,不影響業(yè)務(wù)邏輯前提下,先進行combine處理,減少I/O。

  上面提到的那些屬性參數(shù),都是位于mapred-default.xml文件中,這些屬性參數(shù)的調(diào)優(yōu)方式如表4-1所示。

  表4-1 Map階段調(diào)優(yōu)屬性

1649817519700_Map階段調(diào)優(yōu)屬性.jpg

分享到:
在線咨詢 我要報名
和我們在線交談!