我正在使用hadoop 流处理一个巨大的文件。假设我有一个文件,每一行都是一个数字,我想把这个文件分成 2 个文件,一个包含奇数,另一个包含偶数。
使用 hadoop,我可能会为这项工作指定 2 个 reducer,因为当数字从 mapper 转到 reducer 时,我认为数字转到哪个 reducer 由 决定number % 2
,对吧?
但是有人告诉我,这不仅仅是简单的number % 2
,而是hash(number) % 2
使数字转到哪个减速器,这是真的吗?
如果是这样,我怎么能做到?我可以指定一个分区器或其他东西来使它正确吗?