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

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、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、および 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 は、次の図に示すように、コードの実行とデバッグの場所を決定します。

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