hive表insert数据报错input path does not exists

问题描述:

hive表 insert  数据时,报错vertex failed ,vertex name =Map 1...

mapred.invalidinputException:input path does not exists hdfs://表路径/表名/表分区

详细可参考hive sql 遇到 input path does not exists 问题-CSDN博客

问题定位:

我是将a表的多个分区insert到b表,发现多个分区表显示hdfs路径不存在,去select * from 路径不存在的分区表,再次报错:

query failed :partition location does not exist 

查询不到当前分区 ,说明hive分区表元数据和hdfs文件目录不一致(也可能是分区删除),导致的读异常

解决方案:
1、修复分区
msck repair table dwd.dwd_abc_111;

再次运行select * 依然不行 

2、删除分区
alter table 表名 drop partition (分区字段='要删除的具体分区',分区字段=。。)
--例如
alter table dws.dws_tmp_2022 drop partition (etl_dt='20230110');

这个方式可以解决问题,之后再重新insert分区就可以了。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值