首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在hive中增加reducers?

如何在hive中增加reducers?
EN

Stack Overflow用户
提问于 2013-09-11 17:15:00
回答 2查看 2.8K关注 0票数 0
代码语言:javascript
复制
select
    emp.deptno, emp.ename, emp.empno, emp.job, emp.mgr,
    emp.mgr, emp.hiredate, emp.sal, emp.comm, dept.dname,
    dept.loc
from emp
join dept on from emp.deptno = dept.deptno;

这是9 9GB的data.it在reducer.its堆积时出现了问题,减速机99%。我已经将reducer增加到150,但没有给出结果。

EN

回答 2

Stack Overflow用户

发布于 2013-09-11 18:16:20

您可以使用:

代码语言:javascript
复制
    set mapred.reduce.tasks=113

你的问题可能与数据偏斜有关(这意味着一些键非常密集)。

票数 0
EN

Stack Overflow用户

发布于 2013-09-12 02:28:33

不对称连接将不成比例地将大量值发送到一个reducer,并且您将获得99%作业完成率综合征的长尾,因此可能会遇到这种情况。查看作业日志(特别是IO)会发现这是否是罪魁祸首。

在这种情况下,您可以使用Skewed Join Optimization,它又依赖于List Bucketing。您必须确定哪些键值(depno)严重倾斜,并相应地在DDL中声明它:

代码语言:javascript
复制
alter table emp (schema) skewed by  (depno) on ('<skewedvalue>');

有关详细信息,请阅读链接文章,查看HIVE-3086的评论和更改。

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

https://stackoverflow.com/questions/18737128

复制
相关文章

相似问题

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