>데이터 베이스 >MySQL 튜토리얼 >SparkSQL 하위 쿼리 지원은 버전 2.0과 이전 버전 간에 어떻게 다릅니까?

SparkSQL 하위 쿼리 지원은 버전 2.0과 이전 버전 간에 어떻게 다릅니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-03 17:52:38308검색

How Does SparkSQL Subquery Support Differ Between Versions 2.0 and Earlier?

SparkSQL의 하위 쿼리 지원

소개

하위 쿼리는 SQL에서 중첩된 정보를 검색하거나 비교를 수행하는 데 자주 사용됩니다. SparkSQL은 특정 하위 쿼리를 지원하지만 해당 지원은 모든 버전에서 포괄적이지 않습니다. 이 문서의 목적은 SparkSQL의 하위 쿼리 기능에 대한 개요를 제공하고 이전 버전의 제한 사항에 대해 논의하는 것입니다.

Spark 2.0

Spark 2.0부터는 상관된 하위 쿼리와 상관되지 않은 하위 쿼리가 모두 완벽하게 지원됩니다. 이를 통해 중첩된 데이터와 관련된 더 복잡한 SQL 쿼리가 가능합니다.

예:

select * from l where exists (select * from r where l.a = r.c)
select * from l where a in (select c from r)

Spark < 2.0

2.0 이전 Spark 버전에서는 0.12 이전 Hive 버전과 유사하게 하위 쿼리가 FROM 절에서만 지원됩니다. WHERE 절의 하위 쿼리는 지원되지 않습니다.

예를 들어 다음 쿼리는 Spark < 2.0:

sqlContext.sql(
 "select sal from samplecsv where sal < (select MAX(sal) from samplecsv)"
).collect().foreach(println)

계획된 기능

현재 지원 외에도 Spark는 하위 쿼리 기능을 향상시키기 위한 기능을 계획했습니다.

  • SPARK-23945: 지원 단일 열 DataFrame을 입력으로 사용하기 위해 Column.isin().
  • SPARK-18455: 상관 하위 쿼리 처리에 대한 일반 지원.

결론

SparkSQL의 하위 쿼리 지원은 수년에 걸쳐 크게 발전했습니다. 이전 버전은 제한된 하위 집합만 지원하지만 Spark 2.0 이상에서는 상관된 하위 쿼리와 상관되지 않은 하위 쿼리 모두에 대한 포괄적인 지원을 제공합니다. 계획된 기능은 향후 릴리스에서 이 지원을 더욱 향상시키는 것을 목표로 합니다.

위 내용은 SparkSQL 하위 쿼리 지원은 버전 2.0과 이전 버전 간에 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.