入力 bz2 ファイルのフォルダーがあり、そのうちのいくつかが破損している可能性があります。MR ジョブを実行する前に、破損した/無効な bz2 ファイルをすべて削除したいと考えています。それを行う良い方法は何ですか?
質問する
535 次
1 に答える
0
bzip2 -t を使用して、bzip ファイルが破損しているかどうかをテストします。破損している場合は、このようなものが表示されると思います。
bzip2: test1.txt: bad magic number (file not created by bzip2)
bzip2: 2: bad magic number (file not created by bzip2)
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
したがって、ファイルがローカル ファイル システムにある場合は、上記の点に基づいたシェル スクリプトを使用するとうまくいくはずです。ファイルが既に HDFS 上にある場合は、Hadoop ストリーミングとマッパーをスクリプトとして使用して、破損したファイルを出力し、レデューサーを使用しないか、レデューサーを使用してそれらのファイルを削除または後処理します。
于 2013-10-24T03:05:50.830 に答える