メインコンテンツまでスキップ

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、Rlibrary(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 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 チュートリアルから始めてください。