Hadoop 给减速器带来了什么?

What does Hadoop gives to reducers?

experimenting with 2 reducers, reading the HowManyMapsAndReduces from Hadoop Wiki, hadoop: number of reducers remains a constant 4, Hadoop: Number of mappers and reducers and Setting the number of map tasks and reduce tasks 之后,我得出的结论是:

如果我有 1 个 map(我知道这个数字实际上是由 Hadoop 决定的)和 2 个 reducer(我实际上只提供了 1 个带有 reducer 代码的文件,例如 -reducer /bin/wc),那么会发生什么来自以下?

  1. Hadoop 会将 mapper 发送的数据分发给两个 reducer (例如,给定 1000 行文本,它将给第一个减速器 ~500 和 ~500 到第二个减速器)?
  2. Hadoop 会将 mapper 发送给两个 reducer 的所有数据 (例如,给定 1000 行文本,它将为第一个减速器提供 1000 和 1000 到第二个减速器)?

我认为是第一种方案,但我在网上搜索时找不到证据。

选项 1a:Hadoop 会将数据分配给 reducer,但可能不会平均分配。无法保证平衡,尤其是在 (1) 您的密钥分布不均衡或 (2) 记录不多的情况下。