Omgevingsvariabelen instellen en gebruiken met init-scripts

Init-scripts hebben toegang tot alle omgevingsvariabelen die aanwezig zijn in een cluster.

Standaardomgevingsvariabelen

Azure Databricks stelt veel standaardvariabelen in die handig kunnen zijn in init-scriptlogica. Cluster-scoped en globale init-scripts ondersteunen de volgende omgevingsvariabelen:

  • DB_CLUSTER_ID: de id van het cluster waarop het script wordt uitgevoerd. Zie de Clusters-API.
  • DB_CONTAINER_IP: het privé-IP-adres van de container waarin Spark wordt uitgevoerd. Het init-script wordt uitgevoerd in deze container. Zie de Clusters-API.
  • DB_IS_DRIVER: of het script wordt uitgevoerd op een stuurprogrammaknooppunt.
  • DB_DRIVER_IP: het IP-adres van het stuurprogrammaknooppunt.
  • DB_INSTANCE_TYPE: het exemplaartype van de host-VM.
  • DB_CLUSTER_NAME: de naam van het cluster waarop het script wordt uitgevoerd.
  • DB_IS_JOB_CLUSTER: of het cluster is gemaakt om een taak uit te voeren. Zie Rekenproces configureren voor taken.

U kunt deze vooraf gedefinieerde omgevingsvariabelen niet overschrijven.

Aangepaste omgevingsvariabelen instellen

Aangepaste omgevingsvariabelen die u kunt openen vanuit init-scripts die op de rekenresource worden uitgevoerd, kunnen worden ingesteld in de Spark-configuratie. Zie Omgevingsvariabelen.

U kunt ook omgevingsvariabelen instellen met behulp van het spark_env_vars veld in de cluster-API maken of cluster-API bijwerken.

Omgevingsvariabelen gebruiken

In het volgende voorbeeld wordt een standaardomgevingsvariabele gebruikt om alleen een deel van een script uit te voeren op een stuurprogrammaknooppunt:

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>

Geheimen in init-scripts

U kunt elke geldige variabelenaam gebruiken wanneer u naar een geheim verwijst. Toegang tot geheimen waarnaar wordt verwezen in omgevingsvariabelen, wordt bepaald door de machtigingen van de gebruiker die het cluster heeft geconfigureerd. Geheimen die zijn opgeslagen in omgevingsvariabelen, zijn toegankelijk voor alle gebruikers van het cluster, maar worden verborgen in de weergave van platte tekst.

Zie Een geheim gebruiken in een Spark-configuratie-eigenschap of omgevingsvariabele.