Hadoop为减速器提供了什么?

时间:2016-02-06 22:51:34

标签: java hadoop mapreduce distributed distributed-computing

experimenting with 2 reducers之后,从Hadoop Wiki,HowManyMapsAndReduceshadoop: number of reducers remains a constant 4Hadoop: Number of mappers and reducers阅读Setting the number of map tasks and reduce tasks我得出的结论是:

如果我有1个地图(我明白这个数字实际上由Hadoop决定)和2个减速器(我实际上只提供了1个带有减速器代码的文件,例如-reducer /bin/wc),那么将会发生什么以下

  1. Hadoop会将映射器发送给两个reducer的数据分发 (例如,给出1000行文本,它将给第一减速器和500减少~500 ~500到第二减速机)?
  2. Hadoop将提供映射器发送给两个reducer的所有数据 (例如,给定1000行文本,它将给予1000到第1减速器和 1000到第2减速机)?
  3. 我认为是第一种选择,但我在搜索网络时找不到证据。

1 个答案:

答案 0 :(得分:4)

选项1a:Hadoop会将数据分发给reducer,但可能无法均匀分配。无法保证平衡,特别是如果(1)您的密钥分配有偏差或(2)没有大量记录。