Databricks Connectとは何ですか?

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

Databricks Connect のレガシ バージョンに関する情報については、 Databricks Connect for Databricks Runtime 12.2 LTS 以前を参照してください

  • この記事をスキップして、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、ノートブック サーバー、その他のカスタム アプリケーションなどの一般的な IDEs を Databricks クラスターに接続できます。 この記事では、Databricks Connect のしくみについて説明します。

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

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

Databricks Connectを使用すると、次のことができます。

  • 任意の Python、R、または Scala アプリケーションから大規模な Spark コードを実行します。 Python、library(sparklyr) for R、import org.apache.spark for Scala をimport pysparkできる場所であればどこでも、IDE プラグインをインストールしたり、Spark サブミッション スクリプトを使用したりすることなく、アプリケーションから直接 Spark コードを実行できるようになりました。

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

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

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

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

For Databricks Runtime 13.3 LTS and above, Databricks Connect is now built on open-source Spark Connect. Spark Connect introduces a decoupled client-server architecture for Apache Spark that allows remote connectivity to Spark clusters using the DataFrame API and unresolved logical plans as the protocol. With this “V2” architecture based on Spark Connect, Databricks Connect becomes a thin client that is simple and easy to use. Spark Connect can be embedded everywhere to connect to Databricks: in IDEs, notebooks, and applications, allowing individual users and partners alike to build new (interactive) user experiences based on the Databricks platform. For more information about Spark Connect, see Introducing Spark Connect.

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

図は、Connect コードの実行とデバッグDatabricks

コードを実行する場合: すべてのコードはローカルで実行されますが、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 チュートリアルから開始します。