집 >데이터 베이스 >MySQL 튜토리얼 >SparkSQL은 다양한 버전의 하위 쿼리를 어떻게 처리합니까?
SparkSQL 하위 쿼리 지원
Spark에서는 하위 쿼리가 현재 제한된 형식으로 지원됩니다. Spark 2.0 이상 버전은 상관된 변형과 상관되지 않은 변형을 모두 포함하여 하위 쿼리에 대한 확장된 지원을 제공합니다. 그러나 Spark 2.0 이전 버전에서는 Hive 0.12 이하 버전과 유사하게 FROM 절에서만 하위 쿼리가 허용됩니다.
WHERE 절 오류
Spark 셸에서 제공된 쿼리를 실행할 때 발생하는 오류는 이전 버전의 Spark에서는 WHERE 절의 하위 쿼리가 지원되지 않기 때문입니다. 버전 2.0. 오류는 파서가 괄호를 예상했지만 대신 MAX 함수를 발견했다는 점을 강조하며 이는 구문이 올바르지 않음을 나타냅니다.
Spark 2.0 지원
Spark 2.0 이상 , 하위 쿼리는 FROM 및 WHERE 절 모두에서 사용할 수 있습니다. 제공된 쿼리는 다음과 같이 다시 작성할 수 있습니다.
sqlContext.sql("select sal from samplecsv where sal < (select max(sal) from samplecsv)").collect().foreach(println)
Spark < 2.0
2.0 이전 Spark 버전에서는 하위 쿼리가 FROM 절에서만 지원됩니다. 하위 쿼리가 외부 쿼리의 열을 참조하는 상관 하위 쿼리는 지원되지 않습니다. 비슷한 기능을 얻으려면 대신 데카르트 조인을 사용해야 합니다.
위 내용은 SparkSQL은 다양한 버전의 하위 쿼리를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!