2018-10-20
阅读量:
904
如何设置reduce的个数?
reduce在运行时往往需要从相关map端复制数据到reduce节点来处理,因此相比于map任务,reduce节点资源是相对比较缺少的,同时相对运行较慢。
正确的reduce任务的个数应该是0.95或者1.75 *(节点数 ×mapred.tasktracker.tasks.maximum参数值)。如果任务数是节点个数的0.95倍,那么所有的reduce任务能够在 map任务的输出传输结束后同时开始运行。如果任务数是节点个数的1.75倍,那么高速的节点会在完成他们第一批reduce任务计算之后开始计算第二批 reduce任务,这样的情况更有利于负载均衡。同时需要注意增加reduce的数量虽然会增加系统的资源开销,但是可以改善负载匀衡,降低任务失败带来的负面影响。同样,Reduce任务也能够与 map任务一样,通过设定JobConf 的conf.setNumReduceTasks(int num)方法来增加任务个数。
101.7633
1
2
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
1条评论
0条评论
0条评论