Databricks Connect とは
この記事では、Databricks Runtime13.3LTS以降のDatabricks Connectについて説明します。
Databricks Connect のレガシー バージョンに関する情報については、「Databricks Runtime 12.2 LTS以前のDatabricks Connect」を参照してください 。
Databricks Connectは、Visual Studio Code、PyCharm 、RStudio Desktop、IntelliJ IDEA 、ノートブックサーバー、その他のカスタムアプリケーションなどの一般的な IDEからDatabricksの計算資源に接続するためのDatabricksランタイム用のクライアントライブラリです。
Databricks Runtime13.3LTS 以降では、Databricks Connect はオープンソースSpark Connect 上に構築されており、Apache Spark 用のSpark 分離されたクライアント/サーバー アーキテクチャ により、データフレームAPI と未解決の論理プランをプロトコルとして使用して クラスタリングへのリモート接続が可能になります。
Databricks Connect は、次の言語で使用できます。
Visual Studio Code の Databricks 拡張機能には Databricks Connect が含まれているため、Visual Studio Code の Databricks 拡張機能をインストールしている場合は、Databricks Connect をインストールする必要はありません。 Visual Studio Code の Databricks 拡張機能については、「Databricks Connect を使用したコードのデバッグ」を参照してください。
Databricks Connect で何ができますか?
Databricks Connectを使用すると、 を使用してコードを記述し、ローカルのSparkAPIs DatabricksSparkセッションではなく コンピュートでリモートで実行できます。
たとえば、データフレーム を使用して コマンドspark.read.format(...).load(...).groupBy(...).agg(...).show()
Databricks Connectを実行すると、コマンドの論理表現がSpark で で実行されているDatabricks サーバーに送信され、リモート コンピュートで実行されます。
Databricks Connect を使用すると、次のことが可能になります。
- Python、R、Scala の任意のアプリケーションから大規模な Spark コードを実行できます。 Python、R
library(sparklyr)
、Scala のimport org.apache.spark
import pyspark
できる場所であればどこでも、IDE プラグインをインストールしたり、Spark 送信スクリプトを使用したりすることなく、アプリケーションから直接 Spark コードを実行できるようになりました。
Databricks Connect for Databricks Runtime 13.3 LTS 以降では、Python アプリケーションの実行がサポートされています。 R と Scala は、Databricks Runtime 13.3 LTS 以降の Databricks Connect でのみサポートされています。
-
IDEでコードをステップ実行してデバッグする場合でも、リモートクラスターで作業しています。
-
ライブラリを開発するときは、素早く反復します。各クライアント セッションはクラスター内で互いに分離されているため、Databricks Connect で Python または Scala ライブラリの依存関係を変更した後、クラスターを再起動する必要はありません。
-
作業を失うことなくアイドル状態のクラスターをシャットダウンします。 クライアント アプリケーションはクラスターから切り離されているため、クラスターの再起動やアップグレードの影響を受けません。通常、ノートブックで定義されているすべての変数、RDD、および データフレーム オブジェクトが失われます。
コードはどこで実行されますか?
Databricks Connect は、次の図に示すように、コードの実行とデバッグの場所を決定します。
実行中のコードの場合: すべてのコードはローカルで実行されますが、リモートデータフレーム ワークスペースのクラスターで実行されるDatabricks 操作を含むすべてのコードと実行応答は、ローカルの呼び出し元に送り返されます。
コードをデバッグする場合: すべてのコードはローカルでデバッグされますが、すべての Spark コードはリモート Databricks ワークスペースのクラスターで引き続き実行されます。コア Spark エンジンコードをクライアントから直接デバッグすることはできません。
次のステップ
- Python を使用して Databricks Connect ソリューションの開発を開始するには、 まず Databricks Connect for Python チュートリアルを参照してください。
- R を使用して Databricks Connect ソリューションの開発を開始するには、 まず Databricks Connect for R チュートリアルを参照してください。
- Scala を使用して Databricks Connect ソリューションの開発を開始するには、 まず Databricks Connect for Scala チュートリアルから始めてください。