設定及使用環境變數與 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 腳本中使用秘密
當您參考秘密時,可以使用任何有效的變數名稱。 環境變數中參考的秘密存取權取決於設定叢集的使用者許可權。 儲存在環境變數中的秘密可由叢集的所有使用者存取,但會從純文字顯示進行修訂。
請參閱 參考環境變數 中的秘密。