hadoop mapreduce 優化

2022-08-05 13:27:22 字數 487 閱讀 2564

mapreduce程式效率的瓶頸在於兩點:

1:計算機效能

2:i/o操作優化

優化無非包括時間效能和空間效能兩個方面,存在一下常見的優化策略:

1:輸入的檔案儘量採用大檔案

眾多的小檔案會導致map數量眾多,每個新的map任務都會造成一些效能的損失。所以可以將一些小檔案在進行mapreduce操作前進行一些預處理,整合成大檔案,或者直接採用conbinfileinputformat來作為輸入方式,此時hadoop會考慮節點和叢集的位置資訊,已決定將哪些檔案打包到同一個單元之中。

2:合理分配map和reduce任務的數量

通過屬性mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum分別可以配置單個節點上map任務和reduce任務的最大數量。

3:壓縮中間資料,減少i/o

4:在map後先進行combine處理,減少i/o

Hadoop之mapreduce

doc hadoop初探之stream hadoop stream 用python hadoop streaming 編寫分散式程式 一 原...

Hadoop 28 MapReduce

1 自定義inputformat 1 1 需求 無論hdfs還是mapreduce,對於小檔案都有損效率,實踐中,又難免面臨處理大量小檔案,此時就需要有相應解決方案 1 2 分析 小檔案的優化無非以下幾種方式 1 在資料採集的時候,就將小檔案或小批資料合成大檔案再上傳hdfs 2 在業務處理之前,在...

Hadoop之MapReduce流程

hadoop mapreduce mapreduce流程 切片 對資料進行邏輯劃分 預設大小是一個block塊大小 以檔案為單位 所以注意小檔案問題 計算規則 math max minsize math min maxsize blocksize 最大當中取最下 最小當中取最大 說白就是取中間值 m...