在Hadoop中,JobTracker是否可以知道每个ReduceTask在实际数据移动之前必须检索多少个数据(在混洗阶段)?我正在尝试收集有关混洗阶段中数据移动的统计信息。
最佳答案
简而言之:它是否知道-也许会使用此信息-不。
根据mapred.reduce.slowstart.completed.maps
配置属性的配置,可以在大多数映射任务完成之前启动reduce任务,因此,在调度reduce任务时,调度程序实现不会考虑此信息。
也许实现您自己的调度程序,您可以从一些计数器统计信息中检索此信息,但是您必须深入研究源代码,我不确定您是否可以访问计数器。
作为替代方案,您是否可以不使用map / reduce计数器和/或日志来进行任务尝试(也许任务跟踪器也记录日志)?
关于hadoop - 在实际数据传输之前,JobTRacker是否知道在混洗阶段向每个reduce任务传输了多少数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319558/