いくつかの地球物理データ (地震データ) を含むファイルがあり、これらのファイルをローカル ファイル システムから読み取り、HDFS に Hadoop Sequential ファイルとして保存しています。
ここで、これらの Sequential ファイルから値を読み取って HBase テーブルに格納できる MapReduce ジョブを作成したいと考えています。これらのファイルは単なるフラット ファイルではありません。代わりに、各ピースは 240 バイトのブロックであり、いくつかのフィールドを持つ多くのピースで構成されています。各フィールドは、short または integer のいずれかです。ブロック番号をキーとして使用し、240 バイトのバイト配列 (すべてのフィールドを含む) を Sequential ファイルの値として使用しています。したがって、各 Sequential ファイルには、すべてのブロックがバイト配列とそのブロック番号として含まれています。
私の質問は、そのようなファイルを処理しているときに、各 240 バイト ブロックを読み取り、個々のフィールドを読み取り、240 バイト ブロックが完了したらすべてのフィールドを一度に出力するにはどうすればよいかということです。1000 ブロックのファイルがあるとします。したがって、私の MapReduce プログラムでは、これらの 1000 ブロックを一度に 1 つずつ読み取り、各フィールド (short または int) を抽出し、すべてのフィールドを 1 つの Map の結果として出力する必要があります。
これに関して、助けが必要です。