hadoop - Mapreduce:reducers 比 mappers 多?

标签 hadoop mapreduce

在我的分布式系统类(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/

相关文章:

hadoop - 如何为Eclipse构建hadoop 2.7.1插件

file - 如何将文件(PDF)传输到 Hadoop 文件系统

hadoop - 为什么reducer在hadoop map/reduce中具有不同的输入/输出键、值?

MapReduce 中的 java.io.IOException

sql-server - 排除Sqoop中的列

debugging - Hadoop分布式调试脚本不能与Hadoop 2一起使用

database - 如何找出 Hive 数据库的总大小

apache - Sqoop - 无法找到或加载主类 org.apache.sqoop.Sqoop

hadoop - 没有reduce功能的Mapreduce

java - 将非结构化数据处理成结构化数据以建立预测模型?