独自のバイナリ形式の入力ファイルが多数あります。さらに処理するために、それらを行に変換する必要があります。各ファイルは、外部バイナリによってワンショットでデコードする必要があります (つまり、ファイルを連結または分割してはなりません)。
私が知っているオプション:
- 単一ファイルのロードを強制し、RecordReader を拡張し、DistributedCache を使用して RecordReader 経由でデコーダーを実行します。
- 単一ファイルのロードを強制し、RecordReader は単一ファイルを返し、hadoop ストリーミングを使用して各ファイルをデコードします
ただし、pig はレコードを STREAM オペレーターに送信する前に連結する (つまり、複数のレコードを送信する) ため、[2] は機能しないようです。
[1] 実行可能のようですが、もう少し作業を進めてください。
より良い方法はありますか?