業務メモ。
適当にスルーしてください。
SequenceFile
SequenceFileは、<key, value>形式でデータを保持する。
テキストをそのままMapで読み込むと、keyにバイトオフセット、valueに入力テキストが入るが、SequenceFile形式だとkey, valueをそのままMapの入力とすることができる。
また、圧縮していても各ノードに分散される(gzipは分散されない)。
hadoop fs -text
とすれば、コマンドラインからテキスト形式で内容を出力できる。
・JobのinputとoutputをSequenceFile形式にする
1 2 3 |
JobConf conf = new JobConf(Test.class); conf.setInputFormat(SequenceFileInputFormat.class); conf.setOutputFormat(SequenceFileOutputFormat.class); |
・テキスト形式で内容を確認
1 |
$ hadoop fs -text SequenceFile.out |
HadoopではgzipファイルをMapに直接入力することができ、自動で展開してくれる。
ただし、分割して各ノードに分散してくれない。
1つのgzipファイルは1つのノードで処理される。
・関連記事
Hadoop関連メモ