[SQL] SparkSQL 지원 하위 쿼리합니까?
SQLSparkSQL 지원 하위 쿼리합니까?
나는 스파크 쉘에서이 쿼리를 실행하고 있지만, 그것은 나에게 오류를 제공
sqlContext.sql(
"select sal from samplecsv where sal < (select MAX(sal) from samplecsv)"
).collect().foreach(println)
오류:
해결법
-
==============================
1.계획 기능 :
계획 기능 :
스파크 2.0 이상
스파크 SQL은 모두 상관 관계 및 상관 하위 쿼리를 지원해야한다. 자세한 내용은 SubquerySuite를 참조하십시오. 몇 가지 예는 다음과 같습니다 :
select * from l where exists (select * from r where l.a = r.c) select * from l where not exists (select * from r where l.a = r.c) select * from l where l.a in (select c from r) select * from l where a not in (select c from r)
불행하게도 지금으로 (스파크 2.0)는 DataFrame DSL을 사용하여 동일한 논리를 표현하는 것은 불가능합니다.
스파크 <2.0
절 FROM (동일 하이브 <= 0.12)에서 스파크가 지원 부질.
SELECT col FROM (SELECT * FROM t1 WHERE bar) t2
그것은 단순히 (특히 상관 하위 쿼리) clause.Generally 말하기 임의의 서브 쿼리는 데카르트에 홍보없이 불꽃을 사용하여 표현 할 수없는 WHERE 조인에서 하위 쿼리를 지원하지 않습니다.
하위 쿼리 성능은 일반적으로 전형적인 관계형 시스템에서 중요한 문제이며 모든 서브 쿼리를 사용하여 표현 될 수 있기 때문에 손실-의 기능 여기가없는 가입하세요.
-
==============================
2.https://issues.apache.org/jira/browse/SPARK-4226
https://issues.apache.org/jira/browse/SPARK-4226
해당 기능을 구현하는 풀 요청은 스파크 2.0에 착륙 할 수 내 생각은 ...있다.
from https://stackoverflow.com/questions/33933118/does-sparksql-support-subquery by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL 서버에서 "날짜"데이터 유형을 사용할 수 있습니까? (0) | 2020.03.30 |
---|---|
[SQL] 내가 MySQL 데이터베이스와 올바르게 상호 작용 연결을 내 로그인 양식을 얻을 수 없다 [마감] (0) | 2020.03.30 |
[SQL] MS 액세스에서 GROUP_CONCAT 기능이있다? (0) | 2020.03.30 |
[SQL] VB에서 SQL 명령에 매개 변수를 "@"를 사용하는 방법 (0) | 2020.03.30 |
[SQL] 어떻게 Access에서 UNPIVOT을 시뮬레이션? (0) | 2020.03.30 |