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

コンピュート configuration for Databricks Connect

注記

この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。

この記事では、 Databricks Connect と Databricks クラスター または サーバレス コンピュートとの間の接続を確立するためのプロパティを構成します。 この情報は、特に明記されていない限り、Python および Scala バージョンの Databricks Connect に適用されます。

Databricks ConnectIDEsを使用すると、Visual Studio Code、PyCharm 、RStudio Desktop、IntelliJ IDEA 、ノートブック サーバー、その他のカスタム アプリケーションなどの一般的な をDatabricks クラスターに接続できます。「Databricks Connect とは」を参照してください。

必要条件

Databricks コンピュートへの接続を設定するには、次のものが必要です。

セットアップ

始める前に、次のものが必要です。

注記

クラスターへの接続を構成する

クラスターへの接続を構成するには、複数の方法があります。 Databricks Connect は、次の順序で構成プロパティを検索し、最初に見つかった構成を使用します。 詳細な構成情報については、「 Databricks Connect for Python の高度な使用法」を参照してください。

  1. データブリックスセッションクラスの remote () メソッド。
  2. Databricks 構成プロファイル
  3. DATABRICKS_CONFIG_PROFILE 環境変数
  4. 各構成プロパティの環境変数
  5. デフォルトという名前の Databricks 構成プロファイル

DatabricksSession クラスの remote() メソッド

このオプション ( Databricks personal access token 認証 のみに適用される) では、ワークスペースインスタンス名、 Databricks personal access トークン、およびクラスターの ID を指定します。

DatabricksSession クラスは、いくつかの方法で初期化できます。

  • DatabricksSession.builder.remote()hosttokencluster_id の各フィールドを設定します。
  • Databricks SDK の Config クラスを使用します。
  • Databricks 構成プロファイルを cluster_id フィールドと共に指定します。

Databricks では、これらの接続プロパティをコードで指定する代わりに、このセクション全体で説明するように、環境変数または構成ファイルを使用してプロパティを構成することをお勧めします。 次のコード例では、提案された retrieve_* 関数の実装を提供して、ユーザーまたは他の構成ストア( Google Cloud Secret Manager など)から必要なプロパティを取得することを前提としています。

これらの各アプローチのコードは次のとおりです。

Python
# Set the host, token, and cluster_id fields in DatabricksSession.builder.remote.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.remote(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
).getOrCreate()
Python
# Use the Databricks SDK's Config class.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Python
# Specify a Databricks configuration profile along with the `cluster_id` field.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()

Databricks 構成プロファイル

このオプションでは、フィールドcluster_id と、使用する Databricks認証タイプ に必要なその他のフィールドを含む Databricks 構成プロファイル を作成または特定します。

各認証タイプに必要な設定プロファイルフィールドは次のとおりです。

次に、構成クラスを使用して、この構成プロファイルの名前を設定します。

cluster_id はいくつかの方法で指定できます。

  • 構成プロファイルに cluster_id フィールドを含め、構成プロファイルの名前を指定するだけです。
  • cluster_id フィールドと共に設定プロファイル名を指定してください。

クラスターの ID を使用して DATABRICKS_CLUSTER_ID 環境変数をすでに設定している場合は、 cluster_idを指定する必要はありません。

これらの各アプローチのコードは次のとおりです。

Python
# Include the cluster_id field in your configuration profile, and then
# just specify the configuration profile's name:
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
Python
# Specify the configuration profile name along with the cluster_id field.
# In this example, retrieve_cluster_id() assumes some custom implementation that
# you provide to get the cluster ID from the user or from some other
# configuration store:
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config

config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)

spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()

DATABRICKS_CONFIG_PROFILE環境変数

このオプションでは、フィールドcluster_id と、使用する Databricks認証タイプ に必要なその他のフィールドを含む Databricks 構成プロファイル を作成または特定します。

クラスターの ID を使用して DATABRICKS_CLUSTER_ID 環境変数をすでに設定している場合は、 cluster_idを指定する必要はありません。

各認証タイプに必要な設定プロファイルフィールドは次のとおりです。

DATABRICKS_CONFIG_PROFILE環境変数をこの構成プロファイルの名前に設定します。次に、 DatabricksSession クラスを初期化します。

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

各構成プロパティの環境変数

このオプションでは、DATABRICKS_CLUSTER_ID 環境変数と、使用する Databricks 認証タイプに必要なその他の環境変数を設定します。

各認証タイプに必要な環境変数は次のとおりです。

次に、 DatabricksSession クラスを初期化します。

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Databricks 構成プロファイル DEFAULT

このオプションでは、フィールドcluster_id と、使用する Databricks認証タイプ に必要なその他のフィールドを含む Databricks 構成プロファイル を作成または特定します。

クラスターの ID を使用して DATABRICKS_CLUSTER_ID 環境変数をすでに設定している場合は、 cluster_idを指定する必要はありません。

各認証タイプに必要な設定プロファイルフィールドは次のとおりです。

この設定プロファイルに DEFAULTという名前を付けます。

次に、 DatabricksSession クラスを初期化します。

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

サーバレス コンピュートへの接続を構成する

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricks Connect for Python は、サーバレス コンピュートへの接続に対応しています。 この機能を使用するには、サーバレスに接続するためのバージョン要件を満たす必要があります。 「要件」を参照してください。

important

この機能には次の制限があります。

サーバレス コンピュートへの接続は、次のいずれかの方法で設定できます。

  • ローカル環境変数 DATABRICKS_SERVERLESS_COMPUTE_IDautoに設定します。 この環境変数が設定されている場合、Databricks Connect は cluster_id.

  • ローカルの Databricks 構成プロファイルで、 serverless_compute_id = autoを設定し、コードからそのプロファイルを参照します。

    [DEFAULT]
    host = https://my-workspace.cloud.databricks.com/
    serverless_compute_id = auto
    token = dapi123...
  • または、次のいずれかのオプションを使用します。

Python
from databricks.connect import DatabricksSession as SparkSession

spark = DatabricksSession.builder.serverless(True).getOrCreate()
Python
from databricks.connect import DatabricksSession as SparkSession

spark = DatabricksSession.builder.remote(serverless=True).getOrCreate()
注記

サーバレス コンピュート セッションは、非アクティブな状態が 10 分間続くとタイムアウトになります。 この後、getOrCreate()を使用して新しい Spark セッションを作成し、サーバレス コンピュートに接続する必要があります。

Databricks への接続を検証する

環境、デフォルト資格情報、およびコンピュートへの接続が Databricks Connectに対して正しく設定されていることを検証するには、databricks-connect testコマンドを実行します。コマンドを実行すると、0 以外の終了コードと、セットアップで非互換性が検出されると対応するエラー メッセージが表示されます。

Bash
databricks-connect test

Databricks Connect 14.3 以降では、 validateSession()を使用して環境を検証することもできます。

DatabricksSession.builder.validateSession(True).getOrCreate()

Databricks Connect の無効化

Databricks Connect (および基になる Spark Connect) サービスは、任意のクラスターで無効にできます。

Databricks Connectサービスを無効にするには、クラスターで次のSpark構成を設定します。

spark.databricks.service.server.enabled false