【问题标题】:No of reducers in mapreduce hadoopmapreduce hadoop中的reducer数量
【发布时间】:2017-06-15 09:00:14
【问题描述】:

我只有一个从 mapper 发送到 reducer 的键,并且我将 reducer 的数量设置为 10。所以一个 reducer 将在该键上运行,其他 9 个 reducer 会做什么?

【问题讨论】:

    标签: java hadoop mapreduce


    【解决方案1】:

    其他 9 个 reducer 将正常运行它们的生命周期,它们一旦运行就没有任何键/值要处理,因此它们会很快停止。因此,您将在它们不必要地运行时浪费资源。

    您通常(大多数输出​​格式都这样做)还会发现您最终得到了一个用于 reduce 的部分文件,该文件运行但没有写入任何内容。部分文件不包含任何实际数据,仅包含文件元数据,例如 gzip 标头。

    【讨论】:

    • 这些减速器在任何方面都可以与IdentityReducer媲美吗?
    • 它们将是作业指定的任何类型的减速器。如果没有设置减速器类型,它将运行默认减速器,即身份减速器。
    • @BinaryNerd 有什么办法可以解决这个问题,因为我们在这项工作中遇到了一些问题?
    • 这是预期的行为,它会导致什么问题?
    • 正如我所说,我们只有很少的键比没有减速器.. 请看看这个stackoverflow.com/questions/42484684/reducers-failing
    【解决方案2】:

    其他 9 个 reducer 将一直运行到它们的 slot 时间结束。

    他们不会有任何 K/V 对需要处理和快速停止。

    您可以使用自定义分区器将映射输出平均分配给所有减速器; - 至少第一级;并最终在最后阶段通过一个 reducer 组合 - 从而减少大部分 reduce 阶段的计算负载。

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多