使用hive查看orc文件 orcfiledump命令详解 异常处理(Failed to read ORC file)
Posted xiaofeng_37
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用hive查看orc文件 orcfiledump命令详解 异常处理(Failed to read ORC file)相关的知识,希望对你有一定的参考价值。
列式存储以orc和parquet文件居多,现阶段hive数据存储的主流格式是orc,然后结合presto(目前对orc的支持好于parquet)做一些即席查询。hive数据文件是直接存储在hdfs上,但是hadoop貌似没有提供直接查看文本的命令,好在hive提供了支持。
文章目录
一、ORC文件查看
1. 命令帮助: hive --service orcfiledump --help
$ hive --service orcfiledump --help
usage ./hive orcfiledump [-h] [-j] [-p] [-t] [-d] [-r <col_ids>] [--recover] [--skip-dump] [--backup-path <new-path>] <path_to_orc_file_or_directory>
--json (-j) Print metadata in JSON format
--pretty (-p) Pretty print json metadata output
--timezone (-t) Print writer's time zone
--data (-d) Should the data be printed
--rowindex (-r) <col_ids> Comma separated list of column ids for which row index should be printed
--recover Recover corrupted orc files generated by streaming
--skip-dump Used along with --recover to directly recover files without dumping
--backup-path <new_path> Specify a backup path to store the corrupted files (default: /tmp)
--help (-h) Print help message
# (-[a-z])里的内容为缩写,与前面的--xx等价,使用起来更加方便
# --json --pretty都用于metadata信息的展示,后者对输出的json进行了格式化
# --data 可用于数据预览
2. 数据预览演示
hive --service orcfiledump -d /warehouse/tablespace/managed/hive/ads.db/xxx/dw=2021-07-05 | tail
① 建议挑选较小的文件进行测试
②文件实在很大建议使用tail,使用head在输出指定的行数后会报一堆的异常信息
二、ORC文件修复
今天使用presto查hive数据的时候报了如下异常
Query 20230313_083619_19104_9jvmr failed: Failed to read ORC file: hdfs://DATALAKE/warehouse/tablespace/managed/hive/dim.db/xxx/dw=2023-03-06/000065_0
但是从hdfs上看文件是存在的,也有大小,然后尝试了下修复命令
hive --service orcfiledump --recover /warehouse/tablespace/managed/hive/dim.db/xxx/dw=2023-03-06/000065_0
修复成功
暂未发现异常,大家遇到的话可以尝试下(建议下备份文件)
以上是关于使用hive查看orc文件 orcfiledump命令详解 异常处理(Failed to read ORC file)的主要内容,如果未能解决你的问题,请参考以下文章
在 pyspark 中读取 Hive 托管表的 orc 文件
当vectorized.execution.enabled 使用带有Hive 的ORC 文件格式时发生ClassCastException