spark-sql利用类似如下命令添加了新字段
新增字段:use mart_flow_test;
alter table detail_flow_test add columns(original_union_id string);
在按照分区查询,发现sql并不是只扫描该分区下的文件,而是进行了全表扫描,
分析原因,可能是添加了新字段后 元数据没有刷新,于是
refresh table 表名
执行完以后仍然会扫描全表,查阅资料
在执行sql前,先执行如下命令:
ss.sql("set spark.sql.hive.caseSensitiveInferenceMode=NEVER_INFER")
问题解决,不在扫描全表