[HADOOP] 테이블을 조인하는 중 하이브 쿼리의 오류
HADOOP테이블을 조인하는 중 하이브 쿼리의 오류
아래 HIVE 쿼리를 사용하여 동등성 검사를 통과 할 수 없습니다.
나는 3 개의 테이블을 가지고 있고 나는이 테이블에 가입하고 싶다. 나는 아래처럼 노력하고 있지만 오류가 발생한다 :
FAILED : 시맨틱 분석 오류 : Line 3:40 JOIN 'visit_date'에서 왼쪽 및 오른쪽 별칭이 모두 발생했습니다.
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 ON
( v3.AS_upc= t3.upc_no AND v3.start_dt <= t3.visit_date AND v3.end_dt >= t3.visit_date AND v3.adv_price <= t3.comp_price ) ) t99 ON
(t1.comp_store_id = t99.cpnumber AND t1.AS_store_nbr = t99.store_no);
FuzzyTree의 도움을 받아 편집 됨 :
첫 번째
between과 where 절을 사용하여 위의 쿼리를 편집하려고했지만 쿼리의 결과가 표시되지 않았습니다.
그러나 위의 쿼리에서 dates를 제거하여 쿼리를 변경 한 경우 "v3.adv_price <= t3.comp_price"를 기반으로 한 출력이 있지만 "날짜 필터"는 사용하지 않습니다.
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 on (v3.AS_upc= t3.upc_no)
where v3.adv_price <= t3.comp_price
) t99 ON
(t1.comp_store_id = t99.cpnumber AND t1.AS_store_nbr = t99.store_no);
2 위 :
다음으로 우리는 하나의 날짜 만 전달하려고했습니다.
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 on (v3.AS_upc= t3.upc_no)
where v3.adv_price <= t3.comp_price and v3.start_dt <= t3.visit_date
) t99 ON
(t1.comp_store_id = t99.cpnumber AND t1.AS_store_nbr = t99.store_no);
이제는 결과가 약간 보이지만 시작일과 종료일 필터를 모두 통과하면됩니다. 어떤 결과도 보이지 않습니다.
해결법
-
==============================
1.https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins
불평등을 where 절로 옮기십시오.
select t1.*, t99.* from table1 t1 JOIN (select v3.*, t3.* from table2 v3 JOIN table3 t3 on (v3.AS_upc= t3.upc_no) where t3.visit_date between v3.start_dt and v3.end_dt and v3.adv_price <= t3.comp_price ) t99 ON (t1.comp_store_id = t99.cpnumber AND t1.AS_store_nbr = t99.store_no);
from https://stackoverflow.com/questions/25821166/error-in-hive-query-while-joining-tables by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS가 파일을 기본적으로 로컬에 저장하는 곳은 어디입니까? (0) | 2019.06.03 |
---|---|
[HADOOP] Mysql에서 Pig로 테이블 데이터를 읽는 방법 (0) | 2019.06.03 |
[HADOOP] Hadoop : 키와 값은 출력 파일에서 탭으로 구분됩니다. 세미콜론으로 구분 된 방법은 무엇입니까? (0) | 2019.06.03 |
[HADOOP] Hadoop gzip 압축 파일 (0) | 2019.06.03 |
[HADOOP] 하이브의 문자를 대체하는 방법? (0) | 2019.06.03 |