0
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;

IT は 9GB のデータです。レデューサーで問題が発生しています。レデューサーで 99% を叩いています。レデューサーを 150 に増やしましたが、結果が得られません。

4

2 に答える 2

0

歪んだ結合は、不均衡に多数の値を 1 つのレデューサーのみに送信し、99% のジョブ完了症候群のロングテールが発生するため、これが発生している可能性があります。ジョブ ログ (特に IO) を見ると、これが原因であるかどうかが明らかになります。

このような場合、リスト バケット化に依存するSkewed Join Optimizationを使用できます。どのキー値 ( ) が大きく歪んでいるかを判断し、それに応じて DDL で宣言する必要があります。depno

alter table emp (schema) skewed by  (depno) on ('<skewedvalue>');

詳細についてはリンク先の記事を読み、HIVE-3086のコメントと変更点を確認してください。

于 2013-09-11T18:28:32.660 に答える