当还原数较少时,键是否是唯一的

e37o9pze  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(217)

我想问的是不同的钥匙是否可以放在同一个减速器里。如果我基于键相同的假设构建减速机,这将是一种有效的方法。假设每个作业配置的reducer的数量是5,并且我从map输出的唯一键是10,那么理想情况下应该需要10个reducer,同样的reducer方法现在将接收2个不同类型的键。考虑散列分区,这意味着使用较少的缩减器的场景。

jgwigjjp

jgwigjjp1#

如果您定义了一个实现writeablecomparable的类,您可以将其用作键,并为equals ans hashcode方法定义自己的规则,这样您就可以根据所需的规则将不同的键发送到同一个reducer。

pbwdgjma

pbwdgjma2#

通常,您不能假设1个reducer只接收一个密钥。例如,如果Map器输出 N 钥匙在哪里 N>1 ,如果正好设置了1个reducer,则唯一的reducer将接收所有键。
但如果你能控制 number of different keys = number of reducers ,则可以假设每个reducer将始终接收相同的密钥。例如,如果Map器正好输出n个键,而您正好设置了n个缩减器,那么每个缩减器将只接收1个键。

相关问题