FAQ-Cannot inspect org.apache.hadoop.io.XXX
更新时间: 2024-03-11 02:51:51
阅读 1253
FAQ-Cannot inspect org.apache.hadoop.io.XXX
问题描述/异常栈
org.apache.hadoop.io.XXX
解决方案
可根据查看parquet文件信息验证parquet文件元数据格式与hive表定义元数据进行比对,将修改Hive表定义字段类型即可解决
查看parquet文件信息方式:
parquet文件信息查看jar包:<a href="https://note.youdao.com/ynoteshare1/index.html?id=a37d70599085d3f1b36d3f7554269a57&type=note" target="_blank">parquet-tools-1.6.0rc3-SNAPSHOT</a>
查看元数据信息:java -jar ~/Downloads/parquet-tools-1.6.0rc3-SNAPSHOT.jar meta 000063_0
查看文件数据:java -jar ~/Downloads/parquet-tools-1.6.0rc3-SNAPSHOT.jar schema 000063_0
如核查Hive表元数据与parquet文件元数据不一致,需修改该表的元数据字段类型与parquet保持一致;
检查一下parquet的字段类型时候和hive中的类型一致,如果不一致请调整到一致
调整到一致的方法:
1、修改hive表的字段类型 注意如果需要级联修改需要使用关键字cascade
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type [CASCADE|RESTRICT];
2、修改生成parquet的字段类型
问题原因
该问题常见于parquet格式hive表查询时,一般原因为hive表对应数据文件元数据对应格式与hive表定义格式不匹配导致
作者:焦巍
文档反馈
以上内容对您是否有帮助?