Hadoop Reducer個數設定

逸卿發表於2014-05-03

在預設情況下,一個MapReduce Job如果不設定Reducer的個數,那麼Reducer的個數為1。具體,可以通過JobConf.setNumReduceTasks(int numOfReduceTasks)方法來設定Reducer的個數。那麼,如何確定Reducer的個數呢,hadoop documentation 推薦了兩個計算公式:
 
•0.95 * NUMBER_OF_NODES * mapred.tasktracker.reduce.tasks.maximum
•1.75 * NUMBER_OF_NODES * mapred.tasktracker.reduce.tasks.maximum

其中,NUMBER_OF_NODES 代表叢集中計算節點的個數,mapred.tasktracker.reduce.tasks.maximum代表每一個節點所分配的Reducer任務槽的個數。

相關文章