init スクリプトでの環境変数の設定と使用

init スクリプトは、クラスターに存在するすべての環境変数にアクセスできます。 Azure Databricks は、init スクリプト ロジックで役立つ多くの既定の変数を設定します。

Spark 構成で設定された環境変数は、init スクリプトで使用できます。 「環境変数」を参照してください。

既定で init スクリプトに公開される環境変数とは

クラスター スコープおよびグローバルの init スクリプトでは、次の環境変数がサポートされます。

  • DB_CLUSTER_ID: スクリプトが実行されているクラスターの ID。 Clusters API に関するページを参照してください。
  • DB_CONTAINER_IP: Spark が実行されるコンテナーのプライベート IP アドレス。 init スクリプトは、このコンテナー内で実行されます。 Clusters API に関するページを参照してください。
  • DB_IS_DRIVER: スクリプトがドライバー ノードで実行されているかどうかを示します。
  • DB_DRIVER_IP: ドライバー ノードの IP アドレス。
  • DB_INSTANCE_TYPE: ホスト VM のインスタンスの種類。
  • DB_CLUSTER_NAME: スクリプトが実行されているクラスターの名前。
  • DB_IS_JOB_CLUSTER: ジョブを実行するためにクラスターが作成されたかどうかを示します。 ジョブを作成するを参照してください。

たとえば、スクリプトの一部をドライバー ノードでのみ実行する場合は、次のようなスクリプトを記述できます。

echo $DB_IS_DRIVER
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
  <run this part only on driver>
else
  <run this part only on workers>
fi
<run this part on both driver and workers>

init スクリプトでシークレットを使用する

シークレットを参照する場合は、任意の有効な変数名を使用できます。 環境変数で参照されるシークレットへのアクセスは、クラスターを構成したユーザーのアクセス許可によって決まります。 環境変数に格納されているシークレットには、クラスターのすべてのユーザーがアクセスできますが、プレーンテキスト表示から編集されます。

環境変数でシークレットを参照する」を参照してください。