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

Databricks Connect の高度な使用法

注記

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

この記事では、Databricks Connect の基本的なセットアップを超えるトピックについて説明します。

Spark Connect 接続文字列を構成する

クラスターへの接続を構成するで説明されているオプションを使用してクラスターに接続するだけでなく、より高度なオプションは Spark Connect 接続文字列を使用して接続することです。文字列を remote 関数に渡すか、 SPARK_REMOTE 環境変数を設定できます。

注記

Databricks personal アクセストークン認証のみを使用して、Spark Connect 接続文字列を使用して接続できます。

remote 関数を使用して接続文字列を設定するには:

Python
from databricks.connect import DatabricksSession

workspace_instance_name = retrieve_workspace_instance_name()
token = retrieve_token()
cluster_id = retrieve_cluster_id()

spark = DatabricksSession.builder.remote(
f"sc://{workspace_instance_name}:443/;token={token};x-databricks-cluster-id={cluster_id}"
).getOrCreate()

または、 SPARK_REMOTE 環境変数を設定します。

sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>

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

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

追加の HTTP ヘッダー

Databricks Connect は、gRPC over HTTP/2 を介して Databricks クラスターと通信します。

クライアントからの要求をより適切に制御するために、上級ユーザーはクライアントと Databricks クラスターの間にプロキシ サービスをインストールすることを選択できます。場合によっては、プロキシは HTTP リクエストでカスタムヘッダーを必要とする場合があります。

header() メソッドを使用して、カスタム ヘッダーを HTTP リクエストに追加します。

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.header('x-custom-header', 'value').getOrCreate()

証明書

クラスターがカスタム SSL/TLS 証明書に依存して Databricks ワークスペースの完全修飾ドメイン名 (FQDN) を解決する場合は、ローカル開発マシンで環境変数 GRPC_DEFAULT_SSL_ROOTS_FILE_PATHを設定する必要があります。 この環境変数は、クラスタにインストールされている証明書のフルパスに設定する必要があります。

次の例では、この環境変数を設定します。

Python
import os

os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"

環境変数を設定するその他の方法については、オペレーティングシステムのドキュメントを参照してください。

ログとデバッグログ

Databricks Connect for Python では、標準の Python ログを使用してログが生成されます。

ログは標準エラーストリーム ( stderr ) に出力され、デフォルトではオフになっています。環境変数 SPARK_CONNECT_LOG_LEVEL=debug を設定すると、このデフォルトが変更され、 DEBUG レベル以上のすべてのログ メッセージが出力されます。