mapper
出力レコードを にフィードする前に、最初の 2 つのフィールドでソートしたいのですが、その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"\
しかし、最終結果は最初の 2 つのフィールドでソートされず、最初のフィールドでのみソートされます。なぜですか? 私の Hadoop ジョブ conf に何か問題がありますか?