如何使用多字段对映射器输出键进行排序?

时间:2013-08-10 01:41:10

标签: sorting hadoop-streaming

我希望在将mapper输出记录输入reducer之前按前两个字段对其进行排序,以下是我的工作方式:

hadoop streaming \-D mapred.job.name="multi_field_key_sort"\
-D mapred.job.map.capacity=100\
-D mapred.reduce.tasks=1\
-D stream.num.map.output.key.fields=2\
-D mapred.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator\
-D mapred.text.key.comparator.options="-k1,2n"\
-input "..."\
-output "..."\
-mapper "..."\
-reducer "cat"\

但最终结果没有按前两个字段排序,它们只按第一个字段排序,为什么? 我的hadoop工作有什么问题吗?

0 个答案:

没有答案