hive使用trino查询时报分区不存在问题
1.使用sql界面查询时报错”分区不存在“
2.后台查看文件不存在
$ hdfs dfs -s /warehouse/cleaned.db/dataitem1 202304/f=20230412 2se/warehouse/cleaned.db/dataitem1 202304/f=20230412 2': No such file or directory
3.查看hive表的分区显示有
经过上面三步查看确实很有问题
问题分析:
hive分区表元数据和hdfs文件目录不一致,导致的读异常。
问题处理:
修复表分区
dbname=cleaned tbname=dataitem1_${mouth} ssh root@txj2data01 "hive -e 'use ${dbname}; msck repair table ${tbname} SYNC PARTITIONS'"
详细查看hive命令
MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];