Partage via


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. Azure Databricks définit de nombreuses variables par défaut qui peuvent être utiles dans la logique de script d’initialisation.

Les variables d’environnement définies dans la configuration Spark sont disponibles pour les scripts d’initialisation. Consultez Variables d’environnement.

Quelles variables d’environnement sont exposées au script d’initialisation par défaut ?

Les scripts init ayant le cluster comme étendue et les scripts init 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.

Par exemple, si vous souhaitez exécuter une partie d’un script uniquement sur un nœud de pilote, vous pouvez écrire un script similaire au suivant :

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>

Utiliser des secrets dans des scripts d’initialisation

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 Référencer un secret dans une variable d’environnement.