美文网首页Java玩转大数据
Hive ORC文件损坏问题

Hive ORC文件损坏问题

作者: AlienPaul | 来源:发表于2023-08-20 18:16 被阅读0次

背景

Hive表由于负载过高或者异常退出等原因,导致表中的orc文件损坏,影响表正常读取。此博客记录了Hive表异常orc文件的定位和故障排除步骤。

检查分区是否存在损坏的orc文件

使用select count(1)语句逐个测试partition目录中是否存在损坏的orc表。但Hive默认在count时使用统计信息不读取orc文件。因此需要先配置Hive不使用统计信息。

配置Hive查询不使用统计信息的方法为:

set hive.compute.query.using.stats=false;

配置完毕后执行:

select count(1) from table_name where partition_col='xxx';

逐个测试有潜在问题的分区。如果出现报错,说明该分区下可能有损坏的orc文件。

检查具体哪个orc文件损坏

找到疑似存在损坏orc文件的分区目录之后,执行如下命令查看orc文件数据内容:

hive --orcfiledump -d hdfs:///...

-d参数允许传入目录名。可以检测目录下的所有orc文件。如果出现报错,说明该orc文件存在问题。报错中会给出存在问题的orc文件路径。

也可以使用:

hive --orcfiledump hdfs:///...

查看orc文件统计信息,stripe信息等。

修复损坏的orc文件

找到损坏的orc文件后,执行:

hive --service orcfiledump --recover hdfs:///...

尝试修复该orc文件。

如果orc文件无法修复,可将该orc文件移动到其他目录备份。这种修复方式会丢失一部分数据。

修复或者清理分区中所有损坏的orc文件之后,分区的查询操作可恢复正常。

参考材料

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC

相关文章

  • java读取hive的orc文件

    hive API2hive udf 读取HDFS的orc文件

  • ORC File

    ORC 文件是在hive 0.11.0开始支持。 ORC 文件格式 相对于其他的文件格式,ORC文件格式有以下优点...

  • ORC原理及查询优化

    Hive从0.11版本开始提供了ORC的文件格式,ORC文件不仅仅是一种列式文件存储格式,最重要的是有着很高的压缩...

  • 大数据开发之Hive优化篇5-使用ORC文件格式优化Hive

    备注:Hive 版本 2.1.1 如果使用Hive作为大数据仓库,强烈建议主要使用ORC文件格式作为表的存储格式 ...

  • python如何原生访问hdfs文件系统

    对于HIVE,生成orc或者parquet文件格式放在hdfs文件系统上,对外通过SQL语句,就能实现离线分析,数...

  • hive orc表 动态分区写入异常

    hive 在处理 orc 动态分区插入时 会出现 gc heap over size 之类的问题 问题sql 数据...

  • Spark ORC文件

    一. ORC文件的格式 1. 什么是orc文件 ORC文件, 全称Optimized Row Columnar, ...

  • Hive ORC

    ORC是RCfile的优化版本 关于Hive的文件格式 TEXTFILE 默认格式,建表时不指定默认为这个格式,...

  • Hive ORC

    ORC是RCfile的优化版本 1. 关于hive的文件格式 TEXTFILE默认格式,建表时不指定默认为这个格式...

  • Metastore格式和分隔符

     Hive目前支持的数据格式包括Text File、SequenceFile、RCFile、Avro、ORC 和P...

网友评论

    本文标题:Hive ORC文件损坏问题

    本文链接:https://www.haomeiwen.com/subject/qpasmdtx.html