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 オブジェクトが失われます。

Databricks Runtime 13.3 LTS 以降では、Databricks Connect はオープンソースの Spark Connect 上に構築されるようになりました。 Spark Connect は、Apache Spark 用の分離されたクライアント サーバー アーキテクチャを導入し、DataFrame API と未解決の論理プランをプロトコルとして使用して Spark クラスターへのリモート接続を可能にします。 Spark Connect に基づくこの「V2」アーキテクチャにより、Databricks Connect はシンプルで使いやすいシン クライアントになります。 SparkConnectDatabricks は、IDEs 、データベース、アプリケーションなど、あらゆる場所に埋め込んで に接続できるため、個々のユーザーやパートナーが プラットフォームに基づいて新しい (インタラクティブな) ユーザーDatabricks エクスペリエンスを構築できます。Spark Connect の詳細については、 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 チュートリアルから開始します。