Spark SQL无法识别配置单元分区列

时间:2019-05-08 03:23:43

标签: apache-spark hive apache-spark-sql

我有一个分区表event_fact。分区列为dt, type。然后在该表的顶部创建一个视图。

create view event_fact_view as select 
dt, type, columnA, columnB, collect_list(columnC) 
from event_fact 
group by dt, type, columnA, columnB;

当我运行下面的查询时,无论分区列如何,spark-sql都会对event_fact进行全表扫描。但是,如果我在蜂巢上运行相同的sql,它能够识别出该错误。

select * from event_fact_view where dt='20190501' and type='A';

正如我所确定的,问题与UDF collect_list有关,如果删除了“ collect_list”,spark sql可以首先进行过滤,然后进行分组。这是引发sql的已知问题吗?我找不到与此相关的任何文档或JIRA。还有其他方法可以collect_list吗?

0 个答案:

没有答案