概要 HiveではSequenceFileでファイルを読み書きできるが、ファイル内の実データは1行が1つのTextとなる。 Textでなく自分で作ったWritableをデータにしたい場合に、HiveのSerDeを定義する。 SerDeはSerialize/Deserializeの略で、データを入出力できる形式に変換するクラスのこと。 SerDeを作るにはorg.apache.hadoop.hive.serde2.SerDeインターフェースを実装する。 そしてCREATE TABLEでSerDeクラスを指定する。 Writableクラス 一番最初に、データ保存に使うWritableクラスを作っておく。 今回は例としてWordCountのデータ(単語と単語数)を保持するWritableを用意してみた。 package sample.writable; import java.io.DataIn