Nastavení a použití proměnných prostředí s inicializačními skripty

Inicializační skripty mají přístup k proměnným prostředí, které jsou přítomné v clusteru.

Note

Ve standardním režimu přístupu pro Databricks Runtime 19 a novějších je pro inicializační skripty k dispozici pouze předdefinovaná sada proměnných prostředí. Ostatní proměnné, které v clusteru nastavíte, jsou nadále k dispozici vašemu uživatelskému kódu, včetně funkcí UDF, ale nejsou k dispozici inicializačním skriptům. Viz Omezení proměnných prostředí.

Výchozí proměnné prostředí

Azure Databricks nastaví mnoho výchozích proměnných, které můžou být užitečné v logikě inicializačního skriptu. Clusterové a globální inicializační skripty podporují následující proměnné prostředí:

  • DB_CLUSTER_ID: ID clusteru, na kterém je skript spuštěný. Podívejte se na rozhraní API clusterů.
  • DB_CONTAINER_IP: privátní IP adresa kontejneru, ve kterém běží Spark. Inicializační skript se spustí uvnitř tohoto kontejneru. Podívejte se na rozhraní API clusterů.
  • DB_IS_DRIVER: Zda skript běží na uzlu ovladače.
  • DB_DRIVER_IP: IP adresa uzlu ovladače.
  • DB_INSTANCE_TYPE: typ instance hostitelského virtuálního počítače.
  • DB_CLUSTER_NAME: název clusteru, na který se skript spouští.
  • DB_IS_JOB_CLUSTER: Zda byl cluster vytvořen pro spuštění úlohy. Viz Konfigurace výpočetních prostředků pro úlohy.

Tyto předdefinované proměnné prostředí nelze přepsat.

Nastavení vlastních proměnných prostředí

Vlastní proměnné prostředí, ke kterým můžete přistupovat z inicializačních skriptů spuštěných na výpočetním prostředku, je možné nastavit v konfiguraci Sparku. Viz proměnné prostředí.

Proměnné prostředí můžete také nastavit pomocí spark_env_vars pole v rozhraní API pro vytvoření clusteru nebo aktualizovat rozhraní API clusteru.

Používání proměnných prostředí

Následující příklad používá výchozí proměnnou prostředí ke spuštění části skriptu pouze na uzlu ovladače:

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>

Tajné kódy inicializačních skriptů

Při odkazování na tajný údaj můžete použít libovolný platný název proměnné. Přístup k tajným kódům odkazovaným v proměnných prostředí je určen oprávněními uživatele, který cluster nakonfiguroval. Tajné kódy uložené v proměnných prostředí jsou přístupné všem uživatelům clusteru, ale jsou redactovány ze zobrazení prostého textu.

Viz Použití tajného kódu ve vlastnosti konfigurace Sparku nebo proměnné prostředí.