概要 HadoopのWritableはJavaのSerializeよりも厳密じゃない分、軽い実装になってる。その辺の動きを少し追ってみる。 用意されているクラス 基本的なところとして、longを扱うLongWritable、doubleを扱うDoubleWritableなど、プリミティブな型に対してはそれぞれ用意されている。 あとは文字列を扱うText、値がない場合用のNullWritable、配列を格納するArrayWritable、Mapを格納するMapWritableなどが存在する。 Text TextはStringを扱う。シリアライズして出力される値は、その文字列のバイト長が最初に指定され、その後にbyte配列が記述される形になる。 たとえば「abc」をシリアライズすると以下のようなbyte配列が出力される。 3 97 98 99 長さが3で、あとはa(97)、b(98)、c(99