Databricks SQL とは

Databricks SQL は、Azure Databricks Lakehouse プラットフォームに組み込まれたエンタープライズ データ ウェアハウスとして説明されます。 Databricks SQL のコア機能は、SQL ウェアハウスと呼ばれる最適化されたコンピューティングです。

Azure Databricks には、SQL クエリ視覚化ダッシュボードを作成して実行するための SQL ペルソナと呼ばれる UI ツールのコレクションが用意されています。

SQL ウェアハウスでは、多くの環境 (サードパーティの BI や視覚化ツールなど) から実行される SQL クエリの一般的なコンピューティングが提供されます。 Databricks SQL では、堅牢な API も提供されます。

Note

Databricks SQLは、Azure China リージョンでは利用できません。

Databricks SQL の最新機能については、「Databricks SQL リリース ノート」を参照してください。

Spark SQL と Databricks SQL

Databricks SQL は最適化されたコンピューティング環境であり、Spark SQL は Apache Spark API のコレクションとして説明されます。 Azure Databricks には、SQL 開発者が ETL、分析、ダッシュボードの作成などを行うことができる多数のツールやテクノロジが用意されています。 Databricks では、エンタープライズ データ ウェアハウス エクスペリエンス用に Databricks SQL を使用することをお勧めします。

Spark SQL とは

Spark SQL という用語は、Spark DataFrames を使用するすべての操作に技術的に適用されます。 Spark SQL で Spark 2.x の Spark RDD API が置き換えられ、SQL クエリと Python、Scala、R、Java 用の DataFrame API のサポートが導入されました。

Azure Databricks のドキュメントでは、多くの場合、SQL クエリと機能について説明するために Spark SQL が使用されています。 SQL クエリは、Delta Lake 用の一部の組み込み拡張プロトコルと専用の Azure Databricks 機能を使用して、オープンソース Apache Spark の機能と密接に関連して、Databricks Runtime コンピューティング マップに対して実行されます。 SQL リファレンスを使用して、使用可能なすべての関数を確認し、実行コンテキスト間の相違点を学習できます。

Azure Databricks とオープンソース Apache Spark 間の SQL の相違点

実行環境に関係なく、Azure Databricks 上の SQL は、その他の場所で実行される Apache Spark SQL と大きく異なります。 Azure Databricks 上の SQL を使用すると、コンピューティング用の 3 つの異なるオプションに対して一般的なクエリとステートメントを実行できます。 これらのすべての環境では、オープンソース Apache Spark で使用できない多数のコマンドが追加され、Delta Lake に関連付けられているすべての SQL クエリを実行するように事前に構成されています。

Unity Catalog 対応のワークスペースには、追加のキーワードとコマンドが多数存在します。 一部の SQL コマンドでは、組み込み Hive メタストアではなく、Unity Catalog カタログに対して実行すると、実行内容が異なることに注意してください。

これらの各コンピューティング オプションでは、セマンティクスと構文が若干異なります。 一般論としての説明は以下の通りです。

  • Databricks Runtime コンピューティングでの SQL は、オープンソース Apache Spark での実行によく似ています。
  • 一般に、Delta Live Tables を使用して実行される SQL では、構文とセマンティクスが Databricks Runtime から継承されますが、Delta Live Tables 用に多数の排他的なキーワードと関数が追加されます。
  • SQL ウェアハウスでの SQL は、ANSI 標準に最も準拠して実行されます。 Databricks Runtime コンピューティングに対して Databricks ノートブックで実行される SQL でサポートされている多くの機能 (HiveQL 構文、変数の宣言と参照、DButils ウィジェットの使用など) は、機能しません。

Databricks SQL の管理タスク

Databricks SQL の有効化、ユーザーとデータ アクセスの管理、およびその他の管理タスクの詳細については、「Databricks SQL の管理」を参照してください。