ホームページ > データベース > mysql チュートリアル > SparkSQL サブクエリのサポートはバージョン 2.0 以前とどのように異なりますか?

SparkSQL サブクエリのサポートはバージョン 2.0 以前とどのように異なりますか?

Barbara Streisand
リリース: 2025-01-03 17:52:38
オリジナル
293 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート