我是Hadoop的新手,我想限制应用程序中reduce作业的数量。
在集群中,减少作业的最大数量为120个。但是,我不想全部使用它们,因为我的应用程序不需要那么多减少的工作。
我尝试了下面的解决方案,但没有改变任何东西。我的应用程序仍然使用120个reduce作业。
如何设置减少作业的数量?
https://stackoverflow.com/questions/33237361/unable-to-set-mapreduce-job-reduces-through-generic-option-parser
感谢您的回复。
来自作业类,
job.setNumReduceTasks(100);
来自shell命令
hadoop jar yourJar.jar -D mapred.reduce.tasks=1 <input> <output>
请检查以下值
带1.x
除非指定job.setNumReduceTasks(x)
,否则mapred.reduce.tasks
将优先;
带2.x
除非指定job.setNumReduceTasks(x)
,否则mapreduce.job.reduces
将优先;
您可以通过Ramzy使用-D参数来实现建议。在设置属性之前,请检查hadoop版本和相应的属性。
看看1.x和2.x版本之间不推荐使用的属性和新属性