2013-05-18 36 views
2

在hadoop集群中,是否有数学模型来描述关于Mapper的传输时间和datainputSize的曲线?有没有数学模型来描述hadoop的运行时间和输入数据大小之间的关系?

例如,如果M Mappers的原始数据大小为N,并且从Mappers到Reducers的总传输时间是T.现在我想要在Mappers中将数据大小加倍到2N,是否有近似估计传输时间T'(我认为T'必须小于2T),所以我的想法是用log曲线来描述这条曲线,但我不确定它是否正确。

回答

0

我假设你的输入来自HDFS(?) 我也假设你的输入数据已经放在HDFS上,所以我们不是在谈论从本地文件传输输入数据的时间存储到HDFS。 然后我假设你的输入大小N是你所有输入文件的总大小。 我假设M是地图任务的数量(根据输入文件分解成的输入分割数量)。 如果我们讨论地图任务和减少任务之间的传输,那么我们需要知道地图操作的输出大小。一般来说,这个输出的大小与输入N的大小无关。

即使我们知道在map任务和reduce任务之间需要传输多少总数据,要求传输时间不是必然有意义,因为这种传输可以与地图同时发生并减少任务执行,并且这将是各个地图任务之间的一系列单独传输,并减少各个地点在不同时间点发生的任务。一个写得很好的hadoop应用程序的目标是通过重叠计算和通信来隐藏这个传输时间。

相关问题