Ange och använda miljövariabler med init-skript

Init-skript har åtkomst till alla miljövariabler som finns i ett kluster.

Standardmiljövariabler

Azure Databricks anger många standardvariabler som kan vara användbara i init-skriptlogik. Klusteromfattande och globala init-skript stöder följande miljövariabler:

  • DB_CLUSTER_ID: ID för klustret där skriptet körs. Se Clusters API.
  • DB_CONTAINER_IP: den privata IP-adressen för containern där Spark körs. Init-skriptet körs i den här containern. Se Clusters API.
  • DB_IS_DRIVER: om skriptet körs på en drivrutinsnod.
  • DB_DRIVER_IP: IP-adressen för drivrutinsnoden.
  • DB_INSTANCE_TYPE: instanstypen för den virtuella värddatorn.
  • DB_CLUSTER_NAME: namnet på klustret som skriptet körs på.
  • DB_IS_JOB_CLUSTER: om klustret skapades för att köra ett jobb. Se Konfigurera beräkning för jobb.

Du kan inte åsidosätta dessa fördefinierade miljövariabler.

Ange anpassade miljövariabler

Anpassade miljövariabler som du kan komma åt från init-skript som körs på beräkningsresursen kan anges i Spark-konfigurationen. Se Miljövariabler.

Du kan också ange miljövariabler med hjälp spark_env_vars av fältet i API:et Skapa kluster eller Uppdatera kluster-API.

Använda miljövariabler

I följande exempel används en standardmiljövariabel för att köra en del av ett skript endast på en drivrutinsnod:

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>

Hemligheter i init-skript

Du kan använda valfritt giltigt variabelnamn när du refererar till en hemlighet. Åtkomst till hemligheter som refereras i miljövariabler bestäms av behörigheterna för den användare som konfigurerade klustret. Hemligheter som lagras i miljövariabler är tillgängliga för alla användare av klustret, men redigeras från klartextvisning.

Se Använda en hemlighet i en Spark-konfigurationsegenskap eller miljövariabel.