Spark读取Hive分区表出现Input path does not exist的问题!!!

问题详情

Hive读取正常,不会报错,Spark读取数据就会出现报错信息:

org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://testcluster/user/hive/warehouse/....

然后我们去查看一下 表数据的具体在hdfs上的存储路径,去hdfs上查看,发现文件确实不存在!

问题解决

我是在清理历史数据的时候 手动删除数据了 但是没有删除数据分区信息。导致spark找不到。
在hive中执行 show partitions test,查看test表对应的所有分区。
Spark加载hive分区表数据会根据show partitions中的分区去加载,发现目录缺失就会出错了。
只需要删除分区就可以了
alter table TableName drop partition (p=‘xxx’)

发布了15 篇原创文章 · 获赞 8 · 访问量 9443

猜你喜欢

转载自blog.csdn.net/qq_42684504/article/details/99288047
今日推荐