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
),那么会发生什么来自以下?
- Hadoop 会将 mapper 发送的数据分发给两个 reducer
(例如,给定 1000 行文本,它将给第一个减速器 ~500 和
~500 到第二个减速器)?
- Hadoop 会将 mapper 发送给两个 reducer 的所有数据
(例如,给定 1000 行文本,它将为第一个减速器提供 1000 和
1000 到第二个减速器)?
我认为是第一种方案,但我在网上搜索时找不到证据。
选项 1a:Hadoop 会将数据分配给 reducer,但可能不会平均分配。无法保证平衡,尤其是在 (1) 您的密钥分布不均衡或 (2) 记录不多的情况下。
在 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
),那么会发生什么来自以下?
- Hadoop 会将 mapper 发送的数据分发给两个 reducer (例如,给定 1000 行文本,它将给第一个减速器 ~500 和 ~500 到第二个减速器)?
- Hadoop 会将 mapper 发送给两个 reducer 的所有数据 (例如,给定 1000 行文本,它将为第一个减速器提供 1000 和 1000 到第二个减速器)?
我认为是第一种方案,但我在网上搜索时找不到证据。
选项 1a:Hadoop 会将数据分配给 reducer,但可能不会平均分配。无法保证平衡,尤其是在 (1) 您的密钥分布不均衡或 (2) 记录不多的情况下。