【问题标题】:Number of reducer in map reducemap reducer 中的 reducer 数量
【发布时间】:2016-06-22 23:28:23
【问题描述】:

我在 MR 的驱动类中设置了 3 个 reducer。

这意味着将创建三个分区..

但映射器只发出两个唯一的键,分别是男性和女性。

在这种情况下,Reducer 和 reduce 函数将运行多长时间?

【问题讨论】:

    标签: hadoop


    【解决方案1】:

    您的问题有点含糊,但我可以对可能发生的情况提出两种解释:

    1。两级还原

    • Reducer 1 减少所有男性结果
    • 减速机 2 减速所有女性 结果
    • Resucer 3 降低了 Reducer 1 和 2 的输出。

    2。拆分作业

    • Reducer 1 减少所有男性结果
    • Reducer 2 减少前半部分女性结果
    • Reducer 3 减少后半部分女性结果

    【讨论】:

    • 嗨丹尼斯,感谢您的回答。但我认为减速器的数量取决于映射器发出的唯一键的数量。
    【解决方案2】:

    如果你设置 3 个减速器,它们都会运行。但是,如果您最多只有两个键,则实际上有两个 reducer 会接收要处理的数据。

    【讨论】:

    • 这意味着只有两个减速器将运行,一个用于男性,一个用于女性。对吗?同样,如果设置了 3 个 reducer,并且 mapper 发出 4 个唯一键,那么会运行多少个 reducer?
    • 不,如果你告诉它运行 3 个减速器,3 个会运行。其中至少有 1 个不会收到任何数据(在两个关键情况下)并且运行得非常快。您控制运行的 reducer 数量,分区器将控制键在您设置的数量之间的分配方式。
    • Nerd 先生,如果在驱动类中设置了 3 个 reducer,并且 mapper 发出 4 个唯一键,那么会运行多少个 reducer?
    • 3 会运行。这些键如何在 reducer 之间分配取决于 partitioner。
    • 好的。所以第四个key也将被三个reducer中的任何一个处理。对吗?
    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    相关资源
    最近更新 更多