如何解决Shuffle 在空文件上失败 EOFException:输入流意外结束
我正在尝试运行数据处理管道的副本,该副本在集群上正常工作,在本地机器上使用 hadoop 和 hbase 在独立模式下工作。 Pipeline 包含很少的 mapreduce 作业,其中一个作业具有不在输出中写入任何内容的映射器(取决于输入,但它在我的测试中不写入任何内容),但具有缩减器。 我在此作业运行期间收到此异常:
import
我检查了 mapper 生成的文件,我预计它们会是空的,因为 mapper 没有写任何东西来存储,但它们包含奇怪的文本:
文件:/tmp/hadoop-egorkiruhin/mapred/local/localRunner/egorkiruhin/jobcache/job_local509755465_0013/attempt_local509755465_0013_m_000000_0/output/file.out
ÿÿÿÿ^@^@
文件:/tmp/hadoop-egorkiruhin/mapred/local/localRunner/egorkiruhin/jobcache/job_local509755465_0013/attempt_local509755465_0013_m_000000_0/output/file.out.index
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^B^@^@^@^@^@^@^@^ F^@^@^@^@dTG
解决方法
我找不到这个问题的解释,但我通过关闭映射器输出的压缩来解决它:
config.set("mapreduce.map.output.compress","false");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。