关于gz文件作为hadoop mapreduce作业输入的输入

时间:2012-01-04 20:08:39

标签: hadoop mapreduce

我正在编写将gz文件作为输入的mapreduce。 一些gz文件实际上已损坏。但是映射器没有注意到并成功完成了工作。 请问hadoop如何处理这种文件? 我们无法使用gunzip从命令行打开错误gz文件。 感谢〜

1 个答案:

答案 0 :(得分:0)

Hadoop将gz文件传输到映射器正在执行的节点;解压缩文件然后迭代内容。每个文件将由一个映射器操作。

如果文件损坏,映射器可能永远不会实际执行映射器(或者只是映射函数。如果我们假设映射器已启动; Hadoop尝试解压缩文件;无声地失败并继续使用映射器输入的空文件。“解压缩文件”的内容为空,这使得映射器可以成功完成。

您可能需要setupcleanup函数中的一些代码,这些代码允许您检测“空”文件,这样您就可以增加一个计数器,说明作业实际上并未处理任何数据。

相关问题