在MapReduce作业流程步骤的“syslog”中,我看到以下内容:
Job Counters
Launched reduce tasks=4
Launched map tasks=39
启动的地图任务数量是否包含失败的任务?
我使用NLineInputFormat类作为输入格式来管理地图任务的数量。 但是,我偶尔会得到完全相同输入的数字略有不同,或者取决于实例数量(10,15和20)。
任何人都可以告诉我为什么我发现了不同数量的任务?
答案 0 :(得分:2)
这很可能是投机性执行的开始。当Hadoop拥有可用资源时,它可能会选择同时运行两次相同任务的尝试。启动的任务包括所有已启动的任务,无论它们是否稍后成功,失败(由于异常)或被杀死(由于管理员干扰或推测执行在“更快”任务完成后杀死“较慢”任务)。
你的总任务 - 失败 - 杀戮在两次跑步之间可能是相同的。
希望这有帮助。