gpt4 book ai didi

hadoop - 处理 hadoop/hive 中损坏的 gzip 文件

转载 作者:可可西里 更新时间:2023-11-01 15:39:16 25 4
gpt4 key购买 nike


我在 HDFS 上有很多包含大量文本文件的 tar.gz 文件的日常文件夹。
其中一些 tar.gz 被发现已损坏,并导致 hive/mapreduce 作业在处理这些文件时因“流的意外结束”而崩溃。

我确定了其中的一些并使用 tar -zxvf 测试了它们。他们确实以错误退出,但在此之前仍然提取了相当数量的文件。

当 tar/gz 文件损坏时,有没有办法阻止 hive/mapreduce 作业崩溃?我已经测试了一些错误跳过和容错参数,例如
mapred.skip.attempts.to.start.skipping,
mapred.skip.map.max.skip.records,
mapred.skip.mode.enabled,
mapred.map.max.attempts,
mapred.max.map.failures.percent,
mapreduce.map.failures.maxpercent.

在少数情况下,它有助于在不崩溃的情况下处理完整的文件夹,但大多数情况下这会导致作业挂起并且根本无法完成。

在 hadoop 之外解压缩每个文件只是为了随后重新压缩它们(以获得干净的 gzip 文件)然后再次上传到 hdfs 将是一个非常痛苦的过程(因为这会产生额外的步骤和大量数据)

有人找到了更清洁/更优雅的解决方案吗?

感谢您的帮助。

最佳答案

我来晚了,但我刚刚遇到了损坏的 gzip 文件的确切问题。我最终通过编写自己的 RecordReader 来解决它,它会捕获 IOExceptions,记录有问题的文件的名称,然后优雅地丢弃该文件并继续下一个。

我已经写了一些细节(包括自定义 Record Reader 的代码:http://daynebatten.com/2016/03/dealing-with-corrupt-or-blank-files-in-hadoop/

关于hadoop - 处理 hadoop/hive 中损坏的 gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19523724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com