如何获得对两个大表的查询进行优化?

时间:2018-12-04 20:43:27

标签: optimization impala

查询在Cloudera Cluster上的Impala中:

涉及两个表,一个5亿,另一个9亿

查询:

create table Citz0063.${VERSION}_pas_prev_ah partitioned by (date_pull) stored as parquet as
select pas.acct_num,  max(ah.date_pull) as prev_ah_date_pull,pas.date_pull
from Citz0063.v201810_pas_test pas
inner join Citz0063.v201810_ah01 ah on ah.id_acct=pas.acct_num and cast(ah.date_pull as int)<=cast(pas.date_pull as int)
group by pas.date_pull,pas.acct_num;

结果有4亿条记录。

在执行查询期间,我注意到该计划中有13个阶段,其中一个阶段生成一个140亿行的表。 enter image description here

非常感谢。任何建议/线索都表示赞赏。

0 个答案:

没有答案