注意
この記事では、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、ノートブック、プログラミング言語など、あらゆる場所に埋め込むことができます。
- General コードはローカルで実行: Pythonと Scala コードはクライアント側で実行され、対話型デバッグが可能になります。 すべてのコードはローカルで実行されますが、すべての Spark コードはリモート クラスターで引き続き実行されます。
-
DataFrame API は、Databricks コンピューティングで実行されます。 すべてのデータ変換は Spark プランに変換され、リモート Spark セッションを介して Databricks コンピューティングで実行されます。 これらは、
collect()、show()、toPandas()などのコマンドを使用するときに、ローカル クライアントで具体化されます。 -
UDF コードは Databricks コンピューティングで実行されます。ローカルで定義された UDF はシリアル化され、実行先のクラスターに送信されます。 Databricks でユーザー コードを実行する API には、 UDF、
foreach、foreachBatch、transformWithStateが含まれます。 - 依存関係管理の場合:
- アプリケーションの依存関係をローカル コンピューターにインストールします。 これらはローカルで実行され、Python仮想環境の一部など、プロジェクトの一部としてインストールする必要があります。
- Databricks に UDF 依存関係をインストールします。 UDF の依存関係の管理を参照してください。
Databricks Connect と Spark Connect はどのように関連していますか?
Spark Connect は、DataFrame API を使用して Spark ワークロードをリモートで実行できる、Apache Spark 内のオープンソースの gRPC ベースのプロトコルです。
Databricks Runtime 13.3 LTS 以降では、Databricks Connect は Spark Connect の拡張機能であり、Databricks コンピューティング モードと Unity カタログの操作をサポートするための追加と変更が加えられます。
次のステップ
Databricks Connect ソリューションの開発をすぐに開始するには、次のチュートリアルを参照してください。
- Python クラシック コンピュート用 Databricks Connect チュートリアル
- Databricks Connect for Python サーバーレス コンピューティングのチュートリアル
- Databricks Connect for Scala クラシック コンピューティングチュートリアル
- Databricks Connect for Scala サーバーレス コンピューティングのチュートリアル
- Databricks Connect for R チュートリアル
Databricks Connect を使用するアプリケーションの例については、次の例を含む GitHub サンプル リポジトリを参照してください。