reducer個數選擇

設置Reducer的數量

在Hadoop中默認是運行一個Reducer,所有的Reduce任務都會放到單一的Reducer去執行,效率非常低下。爲了提高性能,可以適當增大Reducer的數量。

最優的Reducer數量取決於集羣中可用的Reducer任務槽的數目。Reducer任務槽的數目是集羣中節點個數與mapred.tasktracker.reduce.tasks.maximum(默認爲2)的乘積,也可以通過MapReduce的用戶界面獲得。

一個普遍的做法是將Reducer數量設置爲比Reducer任務槽數目稍微小一些,這會給Reducer任務留有餘地,同時將使得Reducer能夠在同一波中完成任務,並在Reducer階段充分使用集羣。

Reducer的數量由mapred.reduce.tasks屬性設置,通常在MapReduce作業的驅動方法中通過setNumReduceTasks(n)調用方法動態設置Reducer的數目爲n。


文章來自:http://blog.csdn.net/shuhuai007/article/details/8484806

發佈了2 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章