0

入力 bz2 ファイルのフォルダーがあり、そのうちのいくつかが破損している可能性があります。MR ジョブを実行する前に、破損した/無効な bz2 ファイルをすべて削除したいと考えています。それを行う良い方法は何ですか?

4

1 に答える 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 に答える