请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

NumReduceTasks的个数问题

当job.setNumReduceTasks()的个数大于自定义Partitioner中的分区规则个数时,程序正常执行,相当于多分配了几个reducetask任务,多分配的reducetask没有干活而已
当job.setNumReduceTasks()的个数小于自定义Partitionew中的分区规则个数时,job.waitForCompletion()会输出返回false,同时没有输出文件

pk哥 这样说对吗??

正在回答 回答被采纳积分+3

1回答

Michael_PK 2020-09-03 00:01:13

三个场景你可以动手测试下:

1)reduce > partition

2) 1 < reduce < partition

3) reduce = 1 

1 回复 有任何疑惑可以回复我~
  • 1)reduce > partition
    可以
    2) 1 < reduce < partition
    报错
    3) reduce = 1 或者0 都可以,是不是为0的时候默认取1 ?
    回复 有任何疑惑可以回复我~ 2021-07-27 14:31:37
  • 0 的时候就没reduce,map就完成
    回复 有任何疑惑可以回复我~ 2021-07-27 15:00:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信