Databricks Connect for Python の高度な使用法

注:

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

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

ログ記録とデバッグログ

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

ログは標準エラー ストリーム ( stderr ) に出力され、デフォルトでは WARN レベル以上のログのみが出力されます。

環境変数SPARK_CONNECT_LOG_LEVEL=debugを設定すると、このデフォルトが変更され、 DEBUGレベル以上のすべてのログ メッセージが出力されます。

PySparkシェル

Databricks Connect for Python には、Databricks Connect を使用するように構成された PySpark REPL であるpysparkバイナリが同梱されています。 REPL は、次のコマンドを実行して開始できます。

pyspark

追加のパラメーターを指定せずに起動すると、環境 ( DATABRICKS_環境変数やDEFAULT構成プロファイルなど) からデフォルトの認証情報を取得して、Databricks クラスターに接続します。

REPL が起動すると、Databricks クラスターで Apache Spark コマンドを実行するように構成されたsparkオブジェクトが利用可能になります。

>>> spark.range(3).show()
+---+
| id|
+---+
|  0|
|  1|
|  2|
+---+

Spark 接続接続文字列を使用して--remoteを構成することで、別のリモートに接続するように REPL を構成できます。

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

追加の HTTP ヘッダー

Databricks Connect は、HTTP/2 経由で gRPC 経由で Databricks クラスターと通信します。

一部の上級ユーザーは、クライアントからのリクエストをより適切に制御するために、クライアントと Databricks クラスターの間にプロキシ サービスをインストールすることを選択する場合があります。

プロキシは、場合によっては、HTTPリクエストにカスタムヘッダーを必要とすることがあります。

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

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