mapred-site.xml中指定的参数是否会覆盖hadoop中代码中给出的参数?

时间:2013-09-15 11:46:16

标签: java hadoop

如果我已将mapred-site.xml中参数mapred.tasktracker.reduce.tasks.maximum的值指定为2,并且如果程序代码将reduce任务指定为as job.setNumReduceTasks(1),然后将忽略mapred-site.xml中指定的参数或者它将被遵守,并且将同时执行2个reduce任务。

1 个答案:

答案 0 :(得分:1)

您被mapred.reduce.tasksmapred.tasktracker.reduce.tasks.maximum混淆了。实际上,job.setNumReduceTasks(1)会将mapred.reduce.tasks设置为1. mapred.tasktracker.reduce.tasks.maximum是任务跟踪器同时运行的最大减少任务数。这是两个完全不同的参数。

此外,mapred.tasktracker.reduce.tasks.maximummapred-site.xml的值是唯一有效的值。您无法在任务跟踪器启动时使用它来更改它。 mapred.reduce.tasks是一项工作的财产。不同的工作可以有不同的mapred.reduce.tasks值。