org.apache.hadoop.mapred.InvalidInputException:Inputpath doesnotexist:hdfs://testcluster/user/hive/warehouse/....
问题分析
在hive中执行show partitions test,查看test表对应的所有分区。
看了下之前添加过的所有分区,发现有个分区对应的hdfs目录不存在了(被人为删除了,一般是清理历史数据)。但是这个分区并没有执行alter table test drop partition p=xxx这样删除掉,因为即便是不删除hive也能正常读取。
但是到Spark这就不行了,Spark加载hive分区表数据会根据show partitions中的分区去加载,发现目录缺失就会出错了。
解决方式 1 ,shell 命令删除报错分区
删除分区目录时,同时执行alter table test drop partition (p='xxx')把对应的分区也删除掉就可以了。
如果已经删除了分区目录,也需要执行上以上的命令。
解决方式 2,hue 页面操作删除报错分区版权声明:本文为qq_34009542原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。