[HADOOP] Spark가 서브 쿼리를 지원합니까? [복제]
HADOOPSpark가 서브 쿼리를 지원합니까? [복제]
이 쿼리를 실행할 때이 유형의 오류가 발생했습니다.
select * from raw_2 where ip NOT IN (select * from raw_1);
검색어에서 지원되지 않는 언어 기능 :
select * from raw_2 where ip NOT IN (select * from raw_1)
TOK_QUERY 1, 0,24, 14
TOK_FROM 1, 4,6, 14
TOK_TABREF 1, 6,6, 14
TOK_TABNAME 1, 6,6, 14
raw_2 1, 6,6, 14
TOK_INSERT 0, -1,24, 0
TOK_DESTINATION 0, -1,-1, 0
TOK_DIR 0, -1,-1, 0
TOK_TMP_FILE 0, -1,-1, 0
TOK_SELECT 0, 0,2, 0
TOK_SELEXPR 0, 2,2, 0
TOK_ALLCOLREF 0, 2,2, 0
TOK_WHERE 1, 8,24, 29
NOT 1, 10,24, 29
TOK_SUBQUERY_EXPR 1, 14,10, 33
TOK_SUBQUERY_OP 1, 14,14, 33
IN 1, 14,14, 33
TOK_QUERY 1, 16,24, 51
TOK_FROM 1, 21,23, 51
TOK_TABREF 1, 23,23, 51
TOK_TABNAME 1, 23,23, 51
raw_1 1, 23,23, 51
TOK_INSERT 0, -1,19, 0
TOK_DESTINATION 0, -1,-1, 0
TOK_DIR 0, -1,-1, 0
TOK_TMP_FILE 0, -1,-1, 0
TOK_SELECT 0, 17,19, 0
TOK_SELEXPR 0, 19,19, 0
TOK_ALLCOLREF 0, 19,19, 0
TOK_TABLE_OR_COL 1, 10,10, 26
ip 1, 10,10, 26
TOK_SUBQUERY_EXPR :
TOK_SUBQUERY_EXPR 1, 14,10, 33
TOK_SUBQUERY_OP 1, 14,14, 33
IN 1, 14,14, 33
TOK_QUERY 1, 16,24, 51
TOK_FROM 1, 21,23, 51
TOK_
해결법
-
==============================
1.Spark 2.0.0 이상 :
Spark 2.0.0 이상 :
2.0.0 Spark는 모든 하위 쿼리를 지원하기 때문에. SparkSQL은 하위 쿼리를 지원합니까?를 참조하십시오. 자세한 내용은
스파크 <2.0.0
일반적으로 말하기. SELECT * FROM (SELECT * FROM foo WHERE bar = 1)과 같은 구문은 Spark SQL에서 tmp 완벽하게 유효한 쿼리로 생성됩니다.
필자가 Catalyst 구문 분석기 소스에서 알 수있는 한 NOT IN 절의 내부 쿼리를 지원하지 않습니다.
| termExpression ~ (NOT ~ IN ~ "(" ~> rep1sep(termExpression, ",")) <~ ")" ^^ { case e1 ~ e2 => Not(In(e1, e2)) }
동일한 효과를 얻으려면 외부 조인과 필터를 계속 사용할 수 있습니다.
from https://stackoverflow.com/questions/31854128/does-spark-support-subqqueries by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스레드 "main"의 예외 org.apache.hadoop.ipc.RemoteException : 서버 IPC 버전 9가 클라이언트 버전 4와 통신 할 수 없습니다. 어떻게 해결합니까? (0) | 2019.06.29 |
---|---|
[HADOOP] HDFS 디렉토리의 파일을 열거하는 방법 (0) | 2019.06.29 |
[HADOOP] hiveconf 변수를 파일에서로드 할 수 있습니까? (HiveQL 파일과 분리) (0) | 2019.06.29 |
[HADOOP] HBase REST 서비스를 통해 Phoenix 테이블 데이터를 얻는 방법 (0) | 2019.06.29 |
[HADOOP] 경로에서 사용하려면 자바에서 슬래시를 이스케이프하는 방법 (0) | 2019.06.29 |