設定及使用環境變數與 init 腳本

Init 腳本可以存取叢集上所有環境變數。 Azure Databricks 會設定許多可在 init 腳本邏輯中有用的預設變數。

Spark 組態中設定的環境變數可供 init 腳本使用。 請參閱 環境變數

根據預設,哪些環境變數會公開給 init 腳本?

叢集範圍和全域 init 腳本支援下列環境變數:

  • DB_CLUSTER_ID:腳本執行所在的叢集識別碼。 請參閱叢集 API
  • DB_CONTAINER_IP:Spark 執行所在的容器私人 IP 位址。 init 腳本會在此容器內執行。 請參閱叢集 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 腳本中使用秘密

當您參考秘密時,可以使用任何有效的變數名稱。 環境變數中參考的秘密存取權取決於設定叢集的使用者許可權。 儲存在環境變數中的秘密可由叢集的所有使用者存取,但會從純文字顯示進行修訂。

請參閱 參考環境變數 中的秘密。