*.tar.gz ファイルの束に対して Pig を実行している場合、PigStorage は解凍を正常に処理しますが、tar 内のファイル間のヘッダー行は処理されません。これを処理する簡単な方法はありますか?それとも、独自の RecordReader を作成する必要がありますか? そして、これはどのように見えるでしょうか?
1 に答える
5
tar を使用して、その場でヘッダーをクリーンアップできます。Pig スクリプトで、次のようにします。
--Call to tar that reads from stdin and outputs to stdout
DEFINE CLEANTAR `tar xvf - -O`;
--Now, remove tar headers from your data
cleaned = STREAM mydata THROUGH CLEANTAR;
編集:次の代替案を追加しました。
sed を使用して tar ヘッダーを削除することもできます。
--Remove tar headers using sed
DEFINE CLEANTAR `sed 's/[^\n]*\o000//g'`;
--Now, remove tar headers from your data
cleaned = STREAM mydata THROUGH CLEANTAR;
于 2013-06-11T14:08:43.863 に答える