加载到Hadoop MR之前的文件验证

时间:2013-10-23 20:23:28

标签: validation hadoop mapreduce bzip2

我有一个输入bz2文件的文件夹,其中一些可能已损坏,我想在运行我的MR作业之前删除所有损坏/无效的bz2文件。做这件事的好方法是什么?

1 个答案:

答案 0 :(得分: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.

因此,如果您的文件位于本地文件系统中,则使用基于上述要点的某些shell脚本应该可以正常工作。如果您的文件已经在HDFS上,则使用Hadoop streaming和mapper作为脚本输出损坏的文件而不使用reducer,或使用reducer删除或后处理这些文件。