在我的分布式系统课程中,我们开始讨论分布式计算的map reduce模型。在map reduce架构中,拥有比mapper更多的reducer有什么好处?
注意:谷歌搜索这个问题提供了关于这个问题的相互矛盾的意见。
假设您的数据大小很小,那么您不需要运行那么多映射器来并行处理输入文件。
然而,如果映射器生成的<key,value>
对是大的&多样化,那么拥有更多的减速器是有意义的,因为您可以并行处理更多数量的<key,value>
对。
让我们考虑这样一种情况:映射器输出有10个关键点,每个关键点有100个值,因此如果有10个减少器,则可以并行处理所有关键点。
现在假设映射器输出100个键,每个键中有10个值。然后拥有100个减速器将并行处理所有密钥。(当然,同时运行100台减速器会产生网络成本)
因此,根据映射器输出的数据类型,您可以决定减速器的最佳数量。