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’)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 10,007评论 0 13
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,688评论 0 34
  • Spark学习笔记 Data Source->Kafka->Spark Streaming->Parquet->S...
    哎哟喂喽阅读 6,884评论 0 51
  • 【时间管理100讲】2018.07.10 10/90 【行动】清空大脑与应用4D原则摆脱紧急事务 自下而上就是从...
    莹莹_3ee6阅读 278评论 0 0
  • 这几天接了很多任务,其中有一项是跟其他单位核实之前报送的情况。 要在以前,我最讨厌做这样的工作,就算用qq联系可以...
    念念1999阅读 371评论 3 2

友情链接更多精彩内容