0

在 Hadoop 中,JobTracker 能否在实际数据移动之前知道每个 ReduceTask 必须检索多少数据(在 shuffle 阶段)?我正在尝试在洗牌阶段收集有关数据移动的统计信息。

4

1 回答 1

0

简而言之:它是否知道——也许,它是否使用了这些信息——不。

根据您对mapred.reduce.slowstart.completed.maps配置属性的配置,reduce 任务可以在大多数 map 任务完成之前启动,因此调度程序实现在调度 reduce 任务时不会考虑此信息。

也许实现您自己的调度程序,您可以从一些计数器统计信息中检索此信息,但您必须挖掘源代码,我不确定您是否可以访问计数器。

作为替代方案,您能否不使用 map/reduce 计数器和/或任务尝试的日志(也可能是任务跟踪器日志)?

于 2012-07-03T22:58:38.787 回答