MapReduceのメモ

型違い

MapReduceをJavaで記述する場合、通常

  1. ドライバー
  2. Mapper
  3. Reducer

の3点が必要になります。ドライバーで指定したキー/値の型と、Mapper/Reducerで指定した型が違う場合、以下のような例外を吐きます。ビルド時には検出できないので注意が必要です。

ドライバで指定したKeyがText型, ReducerはKeyがLongWritable型の場合のエクセプションのログ
(折り返しが変なので読みにくくて申し訳ないです。。)

java.io.IOException: wrong key class: org.apache.hadoop.io.LongWritable is not class org.apache.hadoop.io.Text

[完全なログ]
https://gist.github.com/kawamon/82b46959927ac1361a68#file-mapreduce-exception