问题:
select * from dws.dws_example where dt = '2021-10-19' limit 10;
用Hive可以读取。
但是用spark-sql读取没有结果。
并且读取另外的分区,
select * from dws.dws_example where dt = '2021-10-19' limit 10;
都能读取到记录。
解决思路:
到hive里show create table
得到结果:
| 'orc.compress'='SNAPPY',
怀疑这个问题是spark和hive元数据冲突。
查看spark文档,得到解决方案。
spark-sql --conf spark.hadoop.metastore.catalog.default=hive --conf spark.sql.hive.convertMetastoreOrc=false
问题搞定。