sparksql-某些分区出现在hiveserver2中,但不是sparksql

zpqajqem  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(490)

配置单元外部表指向s3上的文件,ddl包含按eod分区的子句。在一个文件夹下有5个子文件夹,每个子文件夹下面有一个不同分区日期的文件。ie公司

  1. eod=20180602/fileA
  2. eod=20180603/fileA
  3. eod=20180604/fileA
  4. eod=20180605/fileA
  5. eod=20180606/fileA

msck修复表在hiveserver2上运行
在hiveserver2(端口10000)上从tbl中选择distinct part\u dt返回所有5个日期
但是,在sparkthriftserver(即sparksql,端口10015)上从tbl中选择distinct part_dt只返回前2个日期。
这怎么可能?
即使在sparkthriftserver上运行msck修复,差异仍然存在。
文件架构在所有日期都相同((每个文件的列数/类型相同)

8nuwlpux

8nuwlpux1#

已解决,这8个受影响的表以前缓存在sparksql(即 cache table <table> ). 有一次我跑了 uncache table <table> 所有的分区又排好了!

相关问题