Databricks Connect

注意

この記事では、Databricks Runtime 13.3 LTS 以降用の Databricks Connect について説明します。

Databricks Connect は Databricks Runtime のクライアント ライブラリであり、Visual Studio Code、PyCharm、IntelliJ IDEA、ノートブック、カスタム アプリケーションなどの IDE からAzure Databricks コンピューティングに接続して、Azure Databricks Lakehouse に基づく新しい対話型ユーザー エクスペリエンスを有効にすることができます。

Databricks Connect は次の言語で利用できます。

Databricks Connect でできること

Databricks Connect を使用すると、Spark API を使用してコードを記述し、ローカルの Spark セッションではなく、Azure Databricksコンピューティングでリモートで実行できます。

  • 任意の IDE から対話形式で開発およびデバッグします。 Databricks Connect を使用すると、開発者は IDE のネイティブ実行およびデバッグ機能を使用して、Databricks コンピューティングでコードを開発およびデバッグできます。 Databricks Visual Studio Code拡張機能は、Databricks Connect を使用して、Databricks でのユーザー コードの組み込みデバッグを提供します。

  • 対話型データ アプリを構築します。 JDBC ドライバーと同様に、 Databricks Connect ライブラリ を任意のアプリケーションに埋め込み、Databricks と対話できます。 Databricks Connect は、PySpark を通じてPythonを完全に表現できるため、SQL プログラミング言語のインピーダンスの不一致を排除し、Spark on Databricks サーバーレススケーラブル コンピューティングですべてのデータ変換を実行できます。

それはどのように動作しますか?

Databricks Connect は、DataFrame API を使用した Spark クラスターへのリモート接続を可能にする Apache Spark 用の分離されたクライアント/サーバー アーキテクチャを備えたオープンソースの Spark Connect 上に構築されています。 基になるプロトコルでは、gRPC の上に Spark 未解決の論理プランと Apache Arrow が使用されます。 クライアント API はシンになるように設計されているため、アプリケーション サーバー、IDE、ノートブック、プログラミング言語など、あらゆる場所に埋め込むことができます。

Databricks Connect コードが実行される場所

  • General コードはローカルで実行: Pythonと Scala コードはクライアント側で実行され、対話型デバッグが可能になります。 すべてのコードはローカルで実行されますが、すべての Spark コードはリモート クラスターで引き続き実行されます。
  • DataFrame API は、Databricks コンピューティングで実行されます。 すべてのデータ変換は Spark プランに変換され、リモート Spark セッションを介して Databricks コンピューティングで実行されます。 これらは、 collect()show()toPandas()などのコマンドを使用するときに、ローカル クライアントで具体化されます。
  • UDF コードは Databricks コンピューティングで実行されます。ローカルで定義された UDF はシリアル化され、実行先のクラスターに送信されます。 Databricks でユーザー コードを実行する API には、 UDFforeachforeachBatchtransformWithStateが含まれます。
  • 依存関係管理の場合:
    • アプリケーションの依存関係をローカル コンピューターにインストールします。 これらはローカルで実行され、Python仮想環境の一部など、プロジェクトの一部としてインストールする必要があります。
    • Databricks に UDF 依存関係をインストールしますUDF の依存関係の管理を参照してください。

Spark Connect は、DataFrame API を使用して Spark ワークロードをリモートで実行できる、Apache Spark 内のオープンソースの gRPC ベースのプロトコルです。

Databricks Runtime 13.3 LTS 以降では、Databricks Connect は Spark Connect の拡張機能であり、Databricks コンピューティング モードと Unity カタログの操作をサポートするための追加と変更が加えられます。

次のステップ

Databricks Connect ソリューションの開発をすぐに開始するには、次のチュートリアルを参照してください。

Databricks Connect を使用するアプリケーションの例については、次の例を含む GitHub サンプル リポジトリを参照してください。