MapReduce--如何设置Reducer的个数

2014-11-24 00:08:13 · 作者: · 浏览: 12

1,在缺省情况下,一个mapreduce的job只有一个reducer;在大型集群中,需要使用许多reducer,中间数据都会放到一个reducer中处理,如果reducer数量不够,会成为计算瓶颈。


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任务槽的个数;


3,在代码中通过:JobConf.setNumReduceTasks(Int numOfReduceTasks)方法设置reducer的个数;


相关阅读