1

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 に何か問題がありますか?

4

0 に答える 0