首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在配置单元中排名()200M条记录

在配置单元中排名()200M条记录
EN

Stack Overflow用户
提问于 2016-09-08 17:57:18
回答 1查看 74关注 0票数 0

当我运行这个sql时,它需要大约半个小时,这是不可接受的。源表有20M条记录。

每个rank()创建一个mapreduce作业,运行7分钟,所有数据都在一个reduce中。如何优化这个sql?这些排名mapreduce可以并行运行吗?

代码语言:javascript
复制
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; 
EN

回答 1

Stack Overflow用户

发布于 2016-09-08 21:22:19

来自How to make hive run mapreduce jobs concurrently?

在hive-default.xml中,有一个名为"hive.exec.parallel“的属性,可用于并行执行作业。默认值为"false“。您可以将其更改为"true“以获得此能力。您可以使用另一个属性"hive.exec.parallel.thread.number“来控制最多可以并行执行多少个作业。

这可能会导致每个级别并行运行,但我没有测试过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39387918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档