Sorting 如何使用多字段对映射器输出键进行排序?
在将映射器输出记录提供给reducer之前,我想按前2个字段对它们进行排序,下面是我的操作方法:Sorting 如何使用多字段对映射器输出键进行排序?,sorting,hadoop-streaming,Sorting,Hadoop Streaming,在将映射器输出记录提供给reducer之前,我想按前2个字段对它们进行排序,下面是我的操作方法: 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.a
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作业有什么问题吗