排查过程中发现是因为使用了tez作为hive的执行引擎,然后执行insert select union all 时,对应的hdfs数据路径,不是直接存放数据文件,而是先有子目录HIVE_UNION_SUBDIR_x,子目录下再存放数据文件。1.由于spark存在一个机制,为了提高性能,会缓存parquet的元数据信息。当通过hive或其他方式更新了parquet表时,缓存的元数据信息未更新,导致SparkSQL查询不到新插入的数据。
spark
2023-10-08
54 点赞
0 评论
81 浏览