Databricks Connect とは

Note

この記事では、Databricks Runtime 13.0 以降用の Databricks Connect について説明します。

Databricks Connect の旧バージョンに関する情報については、「Databricks Runtime 12.2 LTS 以下用の Databricks Connect」を参照してください。

  • この記事をスキップし、すぐに Databricks Connect for Python の使用を開始するには、「Databricks Connect for Python」を参照してください。
  • この記事をスキップし、すぐに Databricks Connect for R の使用を開始するには、「Databricks Connect for R」を参照してください。
  • この記事をスキップし、すぐに Databricks Connect for Scala の使用を開始するには、「Databricks Connect for Scala」を参照してください。

概要

Databricks Connect を使用すると、Visual Studio Code、PyCharm、RStudio Desktop、IntelliJ IDEA などの一般的な IDE、ノートブック サーバー、その他のカスタム アプリケーションを Azure Databricks クラスターに接続できます。 この記事では、Databricks Connect のしくみについて説明します。

Databricks Connect は Databricks Runtime 用のクライアントライブラリです。 これにより、Spark API を使用してコードを記述し、ローカルの Spark セッションではなく、Azure Databricks クラスターでリモート実行することができます。

たとえば、Databricks Connect を使用して DataFrame コマンド spark.read.format(...).load(...).groupBy(...).agg(...).show() を実行すると、リモート クラスターで実行するために Azure Databricks で実行されている Spark サーバーに、コマンドの論理表現が送信されます。

Databricks Connect では、次のことができます。

  • 任意の Python、R、または Scala アプリケーションから大規模な Spark コードを実行する。 Python の import pyspark、R の library(sparklyr)、または Scala の import org.apache.spark が可能な場所であれば、アプリケーションから直接 Spark コードを実行できるようになりました。IDE プラグインをインストールしたり、Spark 送信スクリプトを使用したりする必要はありません。

    Note

    Databricks Runtime 13.0 以降用の Databricks Connect では、Python アプリケーションの実行がサポートされています。 R と Scala は、Databricks Runtime 13.3 LTS 以降用の Databricks Connect でのみサポートされています。

  • リモートクラスターを使用している場合でも、IDE でコードをステップ実行してデバッグします。

  • ライブラリの開発時にすばやく反復処理します。 Databricks Connect で Python または Scala ライブラリの依存関係を変更した後にクラスターを再起動する必要はありません。各クライアントセッションはクラスター内で相互に分離されているためです。

  • 作業結果を失うことなく、アイドル状態のクラスターをシャットダウンします。 クライアントアプリケーションはクラスターから切り離されているため、クラスターの再起動またはアップグレードの影響を受けません。再起動やアップグレードは通常、ノートブックで定義されているすべての変数、RDD、およびデータフレームオブジェクトが失われる原因となります。

Databricks Runtime 13.3 LTS 以降では、Databricks Connect はオープンソースの Spark Connect 上に構築されるようになりました。 Spark Connect は、DataFrame API と未解決の論理プランをプロトコルとして使用して Spark クラスターへのリモート接続を可能にする、Apache Spark 用の分離されたクライアント/サーバー アーキテクチャを導入しています。 Spark Connect に基づくこの "V2" アーキテクチャにより、Databricks Connect はシンプルで使いやすいシン クライアントになります。 Spark Connect は、IDE、ノートブック、アプリケーションなどのあらゆる場所に埋め込んで Azure Databricks に接続できるため、個々のユーザーとパートナーが同じように、Databricks プラットフォームに基づいて新しい (対話型) ユーザー エクスペリエンスを構築できます。 Spark Connect の詳細については、Spark Connect の概要に関する記事 (英語) を参照してください。

Databricks Connect は、次の図に示すように、コードを実行およびデバッグする場所を決定します。

Databricks Connect コードを実行およびデバッグする場所を示す図

コードを実行する場合: すべてのコードはローカルで実行されますが、DataFrame 操作を含むすべてのコードは、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返送されます。

コードをデバッグする場合: すべてのコードはローカルでデバッグされますが、すべてのコードはリモートの Azure Databricks ワークスペース内のクラスターで引き続き実行されます。 コア Spark エンジン コードをクライアントから直接デバッグすることはできません。

次のステップ

  • Python を使用して Databricks Connect ソリューションの開発を開始するには、Databricks Connect for Python チュートリアルから始めます。
  • R を使用して Databricks Connect ソリューションの開発を開始するには、Databricks Connect for R チュートリアルから始めてください。
  • Scala を使用して Databricks Connect ソリューションの開発を開始するには、Databricks Connect for Scala チュートリアルから始めます。