在hadoop集群中,是否有描述Mapper传输时间和datainputSize曲线的数学模型?
例如,如果 M Mappers 的原始数据大小为 N,并且从所有 Mappers 到 Reducers 的总传输时间为 T。现在我想在 Mappers 中将数据大小翻倍至 2N,是否有传输时间的近似估计 T' (我认为T'一定小于2T),所以我的想法是用对数曲线来描述这条曲线,但我不确定它是否正确。
在hadoop集群中,是否有描述Mapper传输时间和datainputSize曲线的数学模型?
例如,如果 M Mappers 的原始数据大小为 N,并且从所有 Mappers 到 Reducers 的总传输时间为 T。现在我想在 Mappers 中将数据大小翻倍至 2N,是否有传输时间的近似估计 T' (我认为T'一定小于2T),所以我的想法是用对数曲线来描述这条曲线,但我不确定它是否正确。
我假设您的输入来自 HDFS(?)我还假设您的输入数据已经放在 HDFS 上,所以我们不是在谈论将您的输入数据从本地文件存储传输到 HDFS 的时间。然后我假设您的输入大小 N 是所有输入文件组合的总大小。我假设 M 是映射任务的数量(基于您的输入文件被分解的输入拆分的数量)。如果我们谈论的是 map 任务和 reduce 任务之间的传输,那么我们需要知道 map 操作的输出大小。通常,此输出的大小与输入 N 的大小无关。
即使我们知道 map 任务和 reduce 任务之间需要传输多少总数据,询问传输时间也不一定有意义,因为这种传输可能在您的 map 和 reduce 任务执行的同时发生,并且这将是各个 map 任务和 reduce 任务之间的一系列单独传输,每个任务都发生在不同的时间点。编写良好的 hadoop 应用程序的目标是通过重叠计算和通信来隐藏此传输时间。