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,但没有给出结果。
发布于 2013-09-11 18:16:20
您可以使用:
set mapred.reduce.tasks=113你的问题可能与数据偏斜有关(这意味着一些键非常密集)。
发布于 2013-09-12 02:28:33
不对称连接将不成比例地将大量值发送到一个reducer,并且您将获得99%作业完成率综合征的长尾,因此可能会遇到这种情况。查看作业日志(特别是IO)会发现这是否是罪魁祸首。
在这种情况下,您可以使用Skewed Join Optimization,它又依赖于List Bucketing。您必须确定哪些键值(depno)严重倾斜,并相应地在DDL中声明它:
alter table emp (schema) skewed by (depno) on ('<skewedvalue>');有关详细信息,请阅读链接文章,查看HIVE-3086的评论和更改。
https://stackoverflow.com/questions/18737128
复制相似问题