当我运行此sql时,大约需要半个小时,这是 Not Acceptable 。
源表有20M条记录。

每个rank()创建一个mapreduce作业,运行7分钟,所有数据归一化。如何优化这个SQL?这些等级mapreduce可以并行运行吗?

create table tmp.xxxx  as
SELECT t.end_user_id,
t.pm_net_amt,
t.parnt_ordr_num,
rank() over(order by t.pm_net_amt) pm_net_amt_rank,
rank() over(order by t.parnt_ordr_num) parnt_ordr_num_rank,
rank() over(order by t.cat_lvl3_num)  cat_lvl3_num_rank,
rank() over(order by t.discount_rate) discount_rate_rank
from  bi_tmp.bbbbbb t;

最佳答案

How to make hive run mapreduce jobs concurrently?:



这可能会导致每个等级并行运行,但我尚未进行测试。

10-07 19:00
查看更多