sql - 차이 - 성능을위한 하이브 조인 쿼리



sql 조인 (1)

select
    A.id,
    B.name
from
    TABLEa as A 
    LEFT JOIN TABLEb as B on partition IN ('GOP','LOP') and A.id=B.id

나는 아래처럼 A.id = B.id에 B와 함께 테이블 A를 남기고 싶다 :

select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP','LOP')B on A.id=B.id

여기 내 TABLEb는 GOP와 LOP의 두 가지 값으로 분할됩니다.

나는 또한 다음과 같은 접근법에 대해 동일한 쿼리를 시도했다.

insert overwrite table final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP')B on A.id=B.id;
insert INTOtable final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('LOP')B on A.id=B.id;

어떤 방법으로 어느 접근법이 나아 져야한다고 말할 수 있습니까? 이성 또는 두 번째가 첫 번째 것과 다른 이유.

도와주세요





hive