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.0 以降では、Databricks Connect がオープンソースの Spark Connect 上に構築されるようになりました。 Spark Connect では、Apache Spark の分離されたクライアント/サーバー アーキテクチャが導入され、プロトコルとして DataFrame API と未解決の論理プランを使用して Spark クラスターにリモート接続できます。 Spark Connect に基づくこの "V2" アーキテクチャにより、Databricks Connect はシンプルで使いやすいシン クライアントになります。 Spark Connectは、IDE、ノートブック、アプリケーションなど、Databricksに接続するためのあらゆる場所に埋め込むことができるため、個々のユーザーやパートナーは、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 チュートリアルから開始します。