Databricks Connect とは
この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。
のレガシー バージョンに関する情報については、「Databricks Connect12.2Databricks Connect のDatabricks RuntimeLTS」を参照してください 。
Databricks Connect は、次の言語で使用できます。
概要
Databricks ConnectIDEsでは、Visual Studio Code、PyCharm 、RStudio デスクトップ、IntelliJ IDEA 、ノートブックサーバー、その他のカスタムアプリケーションなどの一般的な をDatabricks コンピュートに接続することができます。この記事では、Databricks Connect のしくみについて説明します。
Visual Studio Code の Databricks 拡張機能には Databricks Connect が含まれているため、Visual Studio Code の Databricks 拡張機能をインストールしている場合は、Databricks Connect をインストールする必要はありません。 Visual Studio Code の Databricks 拡張機能については、「Databricks Connect を使用したコードのデバッグ」を参照してください。
Databricks Connect は、Databricks Runtime のクライアント ライブラリです。 これにより、 を使用してコードを記述し、ローカルのSparkAPIs DatabricksSparkセッションではなく、 コンピュートでリモートで実行できます。
たとえば、DataFrame を使用して コマンド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、および DataFrame オブジェクトが失われます。
Databricks Runtime 13.3 LTS 以降では、Databricks Connect はオープンソースの Spark Connect 上に構築されるようになりました。 SparkConnectApache Spark では、Spark 用に分離されたクライアント/サーバーDataFrameAPI アーキテクチャが導入されており、プロトコルとして と未解決の論理プランを使用して クラスターへのリモート接続が可能になります。Spark Connect に基づくこの新しいアーキテクチャにより、Databricks Connect はシンプルで使いやすいシンクライアントになります。 SparkConnectは、Databricks IDEs、ノートブック、アプリケーションなど、どこにでも埋め込んで に接続できるため、個々のユーザーとパートナーは、 プラットフォームに基づいて新しい(インタラクティブな)ユーザーエクスペリエンスを構築できます。DatabricksSpark Connect の詳細については、「Spark Connect の概要」を参照してください。
Databricks Connect は、次の図に示すように、コードの実行とデバッグの場所を決定します。
実行中のコードの場合: すべてのコードはローカルで実行されますが、リモートDataFrame ワークスペースのクラスターで実行される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 チュートリアルから始めてください。