我想听听您对 Partitioner vs MultipleOutputs 的看法。
假设我有一个包含密钥的文件
0:aaa
1:bbb
0:ccc
0:ddd
...
1:zzz
我想要 2 个文件:一个文件包含以开头的键0:
,另一个包含以1:
. 我应该使用哪种方法:
1) 使用自定义分区器,它将解析键并为 getPartition() 返回 0 或 1。
2)在reduce阶段使用MultipleOutputs.write,通过解析key并为MultipleOutputs.write的参数 提供zero
or 。one
namedOutput
哪一个更好?对我来说,1) 更好,因为减速器处理单个文件。