2014-01-30 3 views
1

다음 쿼리를 다시 작성하여 첫 번째 where 절이 작은 테이블에 조인되고 추가로 필터링 될 수있는 큰 테이블의 하위 집합을 생성하는지 궁금합니다.효율적인 조인을 통한 하이브 쿼리

SELECT * 
FROM big_table x 
JOIN small_table y 
ON trim(x.ip_adress) = trim(y.ip_address) 
WHERE eventdate = '2013-09-01' 
AND unix_timestamp(cast(x.date AS TIMESTAMP)) - unix_timestamp(cast(y.date AS TIMESTAMP)) < 100 LIMIT 5 ; 

답변

1
SELECT * 
FROM (SELECT * 
     FROM big_table 
     WHERE eventdate = '2013-09-01') x 
JOIN small_table y ON trim(x.ip_adress) = trim(y.ip_address) AND 
         unix_timestamp(cast(x.date AS TIMESTAMP)) - 
          unix_timestamp(cast(y.date AS TIMESTAMP)) < 100 
LIMIT 5; 
+0

감사 파비앙,이 내가 찾던 정확히 것입니다. – Istvan