Définir et utiliser des variables d’environnement avec des scripts d’initialisation

Les scripts d’initialisation ont accès à toutes les variables d’environnement présentes sur un cluster.

Variables d’environnement par défaut

Azure Databricks définit de nombreuses variables par défaut qui peuvent être utiles dans la logique de script init. Les scripts d'initialisation étendus à l'échelle du cluster et les scripts d'initialisation globaux prennent en charge les variables d'environnement suivantes :

  • DB_CLUSTER_ID : ID du cluster sur lequel le script s’exécute. Consultez l’API Clusters.
  • DB_CONTAINER_IP : adresse IP privée du conteneur dans lequel Spark s’exécute. Le script init s’exécute à l’intérieur de ce conteneur. Consultez l’API Clusters.
  • DB_IS_DRIVER : indique si le script s’exécute sur un nœud de pilote.
  • DB_DRIVER_IP : adresse IP du nœud de pilote.
  • DB_INSTANCE_TYPE : type d’instance de la machine virtuelle hôte.
  • DB_CLUSTER_NAME : nom du cluster sur lequel s’exécute le script.
  • DB_IS_JOB_CLUSTER : indique si le cluster a été créé pour exécuter un travail. Consultez Configurer le calcul pour les projets.

Vous ne pouvez pas remplacer ces variables d’environnement prédéfinies.

Définir des variables d’environnement personnalisées

Les variables d’environnement personnalisées auxquelles vous pouvez accéder à partir de scripts init s’exécutant sur la ressource de calcul peuvent être définies dans la configuration Spark. Consultez les variables d’environnement.

Vous pouvez également définir des variables d’environnement à l’aide du spark_env_vars champ dans l’API Créer un cluster ou mettre à jour l’API de cluster.

Utiliser les variables d’environnement

L’exemple suivant utilise une variable d’environnement par défaut pour exécuter une partie d’un script uniquement sur un nœud de pilote :

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>

Secrets dans les scripts init

Vous pouvez utiliser n’importe quel nom de variable valide lorsque vous référencez un secret. L’accès aux secrets référencés dans les variables d’environnement est déterminé par les autorisations de l’utilisateur qui a configuré le cluster. Les secrets stockés dans des variables d’environnement sont accessibles par tous les utilisateurs du cluster, mais ils sont supprimés de l’affichage en texte clair.

Voir Utiliser un secret dans une propriété de configuration ou une variable d’environnement Spark.