Scripts d'initialisation à l'échelle du cluster
Les scripts d'initialisation à l'échelle du cluster sont des scripts d'initialisation définis dans une configuration de cluster. Les scripts d'initialisation à l'échelle du cluster s'appliquent aux clusters que vous créez et à ceux créés pour exécuter des Jobs.
Vous pouvez configurer des scripts d'initialisation circonscrits au cluster à l'aide de l'interface utilisateur, de la CLI et en appelant l'API Clusters. Cette section se concentre sur l'exécution de ces tâches à l'aide de l'interface utilisateur. Pour les autres méthodes, consultez la CLI de Databricks et l'API Clusters.
Vous pouvez ajouter un nombre quelconque de scripts, et les scripts sont exécutés séquentiellement dans l'ordre fourni.
Si un script d'initialisation en cluster renvoie un code de sortie non nul, le lancement du cluster échoue . Vous pouvez résoudre les problèmes des scripts d'initialisation en cluster en configurant la livraison des logs de cluster et en examinant le log du script d'initialisation. Voir la journalisation des scripts d'initialisation.
Configurez un script d'initialisation à l'échelle du cluster à l'aide de l'interface utilisateur
Cette section contient des instructions pour configurer un cluster afin d'exécuter un script d'initialisation à l'aide de l'interface utilisateur Databricks.
Databricks recommande de gérer tous les scripts d'initialisation en tant que scripts d'initialisation à l'échelle du cluster. Si vous utilisez compute avec le mode d'accès standard ou dédié (anciennement modes d'accès partagé et utilisateur unique), stockez les scripts d'initialisation dans des volumes Unity Catalog. Si vous utilisez compute avec le mode d'accès partagé sans isolation, utilisez les fichiers de workspace pour les scripts d'initialisation.
Pour le mode d'accès standard, vous devez ajouter des scripts d'initialisation au allowlist. Consultez Mettre les bibliothèques et les scripts d'initialisation sur liste d'autorisation sur le compute avec le mode d'accès standard (anciennement mode d'accès partagé).
Pour utiliser l'interface utilisateur afin de configurer un cluster pour exécuter un script d'initialisation, suivez les étapes suivantes :
-
Sur la page de configuration du cluster, cliquez sur l'option **Avancé**.
-
En bas de la page, cliquez sur l'onglet Scripts d'initialisation .
-
Dans le menu déroulant **Source**, sélectionnez le type de source **Workspace**, **Volume** ou **S3**.
-
Spécifiez un chemin d’accès au script d’initialisation, tel que l’un des exemples suivants :
- Pour un script d'initialisation stocké dans vos fichiers Workspace :
/Workspace/<path-to-script>/<script-name>.sh - Pour un script d'initialisation stocké avec les volumes Unity Catalog :
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh - Pour un script d'initialisation stocké avec un stockage d'objets :
s3://bucket-name/path/to/init-script
- Pour un script d'initialisation stocké dans vos fichiers Workspace :
-
Cliquez sur **Ajouter**.
En mode d'accès dédié, l'identité du principal attribué (un utilisateur ou un service principal) est utilisée.
En mode d'accès standard, l'identité du propriétaire du cluster est utilisée.
Le mode d'accès partagé sans isolement ne prend pas en charge les volumes, mais utilise la même attribution d'identité que le mode d'accès standard.
Pour supprimer un script de la configuration du cluster, cliquez sur l'icône de la corbeille à droite du script. Lorsque vous confirmez la suppression, vous êtes invité à redémarrer le cluster. Vous pouvez éventuellement supprimer le fichier de script de l'emplacement où vous l'avez upload.
Si vous configurez un script d'initialisation en utilisant le type de source S3 , vous devez configurer les identifiants d'accès.
Databricks recommande d'utiliser des profils d'instance pour gérer l'accès aux scripts d'initialisation stockés dans S3. Utilisez la documentation suivante dans le Link de renvoi pour compléter cette configuration :
- Créez un rôle IAM avec des autorisations de lecture et de liste sur les compartiments souhaités. Consultez Tutoriel : Configurer l'accès à S3 avec un profil d'instance.
- Lancez un cluster avec le profil d'instance. Consultez les profils d'instance.
Les scripts d'initialisation en cluster sur DBFS sont en fin de vie. L'option DBFS dans l'interface utilisateur existe dans certains workspaces pour prendre en charge les charges de travail héritées et n'est pas recommandée. Tous les scripts d'initialisation stockés dans DBFS devraient être migrés. Pour les instructions de migration, consultez Migrer les scripts d'initialisation de DBFS.
Configurer la région S3
Vous devez spécifier la région S3 du bucket contenant le script d'initialisation si le bucket se trouve dans une région différente de celle de votre Workspace. Sélectionnez auto uniquement si votre bucket et votre Workspace partagent une région.
Dépannage des scripts d'initialisation à l'échelle du cluster
- Le script doit exister à l'emplacement configuré. Si le script n'existe pas, les tentatives de start du cluster ou de monter en charge les exécuteurs entraînent un échec.
- Le script d'initialisation ne peut pas dépasser 64KB. Si un script dépasse cette taille, le cluster ne pourra pas se lancer et un message d'échec apparaîtra dans le log du cluster.