Hadoopストリーミングのときにキーを数値としてソートする方法を書きます。 Hadoopはmapperからの出力をキー順にソートしてreducerに渡すのですが、ソートするときは文字列としてソートしているようです。 なので、キーを数値順に並べたいときは不都合です。 こういうときは、KeyFieldBasedComparatorを使うといいそうです。 Hadoopストリーミングをするときに、以下の設定を追加することで数値によるソートが出来るそうです。 -D mapred.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator \ -D mapred.text.key.comparator.options="-k1n" \ 参考書として使っているHadoop本には全く同じ設定はないのです
![『Hadoopストリーミングでキーを数値としてソートする』](https://cdn-ak-scissors.b.st-hatena.com/image/square/0ed3a488e95eb0fa37f35f2002220e1d64a0e1c3/height=288;version=1;width=512/https%3A%2F%2Fstat.profile.ameba.jp%2Fprofile_images%2F20101108%2F07%2F90%2F5c%2Fj%2Fo020002001289169855286.jpg)