【发布时间】:2013-12-16 07:28:14
【问题描述】:
我想听听您对 Partitioner 与 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的namedOutput参数提供zero或one。
哪个更好?对我来说,1) 更好,因为 reducer 处理单个文件。
【问题讨论】:
标签: hadoop mapreduce hadoop-partitioning reducers partitioner