ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

AsakusaFW バイナリーファイル操作

2012-07-10 01:42:38 | PG(分散処理)

Hadoopは基本的にテキストファイルを扱うようになっている。バイナリーデータを使いたければSequenceFileを使うのが一番簡単だと思う。
InputFormatやRecordReaderやInputSplitを独自実装すればバイナリーファイルを読み込めるだろうけど、面倒だわな^^;

で、Asakusa FrameworkにはBinaryStreamFormatというクラスがあり、これを継承したクラスを作ることでバイナリーファイルを扱うことが出来る。実装しなければならない部分はあるけれど、素のHadoopよりは簡単な気がする。
その実装も、主な部分はバイナリーデータAsakusaFWのデータモデルの各プロパティーとの移送部分のコーディングなので、少々面倒ではあるが、難しくはない。 
(実装の考え方としては、SequenceFileFormatを使って独自SequenceFileを扱うのと同じ)


(ちょっと追記)
バイナリーファイル読み込み部分で、offsetの使い方を勘違いしていたので修正。
streamは既にそのオフセット分スキップされた状態で渡されるので、自分でスキップする必要は無いらしい。
ただしoffsetは(やはり)必ずしもレコードサイズの倍数とは限らないので、レコード境界に合うよう、その分だけはスキップしてやる必要がある。 



最新の画像もっと見る

コメントを投稿