在我的分布式系统类(class)中,我们开始讨论分布式计算的 map reduce 模型。在 map-reduce 架构中拥有比映射器更多的缩减器有什么好处?
注意:谷歌搜索这个问题提供了关于这个问题的相互矛盾的意见。
最佳答案
假设您的数据量很小,那么您不需要运行那么多映射器来并行处理输入文件。
但是,如果 <key,value>
映射器生成的对很大且多样,那么有更多的 reducer 是有意义的,因为你可以处理更多数量的 <key,value>
对并行。
让我们考虑这样一种情况,您的映射器输出有 10 个键,每个键有 100 个值,因此如果您有 10 个缩减器,您可以并行处理所有键。
现在假设您的映射器输出 100 个键,每个键有 10 个值。然后有 100 个 reducer 将并行处理所有键。 (当然,同时运行 100 个 reducer 会涉及网络成本)
因此,根据您的映射器输出的数据类型,您可以决定缩减器的最佳数量。
关于hadoop - Mapreduce:reducers 比 mappers 多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18023114/