Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit le développement et le cycle de vie d’un bundle de ressources Databricks. Pour obtenir des informations générales sur les bundles de ressources Databricks, consultez En quoi consistent les bundles de ressources Databricks ?
Cycle de vie d’un bundle
Pour comprendre comment utiliser efficacement des bundles, vous devez comprendre le cycle de vie de base d’un bundle :
- Le squelette de bundle est créé sur la base d’un projet.
- Le projet de bundle est développé localement. Un bundle comporte des fichiers de configuration qui définissent des paramètres d’infrastructure et d’espace de travail tels que des cibles de déploiement, des paramètres pour les ressources Databricks tels que les travaux et les pipelines, ainsi que les fichiers source et d’autres artefacts.
- Le projet de pack est validé. La validation vérifie les paramètres et les définitions de ressource dans la configuration de bundle par rapport aux schémas d’objet correspondants pour garantir que le bundle est déployable sur Databricks.
- Le bundle est déployé sur un espace de travail cible. Le plus souvent, un bundle est déployé pour la première fois sur l’espace de travail de développement personnel d’un utilisateur à des fins de test. Une fois les tests du bundle terminés, celui-ci peut être déployé en préproduction, puis sur des cibles de production.
- Les ressources de workflow définies dans le bundle déployé peuvent être exécutées. Par exemple, vous pouvez exécuter un travail.
- Si le bundle n’est plus utilisé, il peut être détruit définitivement.
Les commandes de bundle Databricks CLI vous permettent de créer, de valider, de déployer, d’exécuter et de détruire des bundles, comme décrit dans les sections suivantes.
Étape 1 : Créer un bundle
Trois moyens permettent de commencer à créer un bundle :
- Utiliser le modèle de bundle par défaut
- Utiliser un modèle de bundle personnalisé
- Créer un bundle manuellement
Utiliser un modèle de bundle par défaut
Un modèle de bundle par défaut Azure Databricks vous permet de créer un pack de démarrage que vous pourrez ensuite personnaliser à l’aide de Databricks CLI version 0.218.0 ou ultérieure pour exécuter la commande bundle init, ce qui vous permet de choisir parmi une liste de modèles disponibles. Consultez l’init de bundle databricks.
databricks bundle init
Vous pouvez afficher la source des modèles de bundle par défaut dans les référentiels publics GitHub databricks/cli et databricks/mlops-stacks .
Passez à l’Étape 2 : renseigner les fichiers de configuration du bundle.
Utiliser un modèle de bundle personnalisé
Pour utiliser un modèle de bundle autre que le modèle de bundle par défaut Azure Databricks, vous devez connaître le chemin d’accès local à l’emplacement du modèle de bundle distant ou son URL.
Databricks CLI version 0.218.0 ou ultérieure vous permet d’exécuter la commande bundle init comme suit :
databricks bundle init <project-template-local-path-or-url>
Pour en savoir plus sur cette commande, consultez Modèles de projet de bundle de ressources Databricks. Pour plus d’informations sur un modèle de bundle spécifique, consultez la documentation du fournisseur de modèles de bundle.
Passez à l’Étape 2 : renseigner les fichiers de configuration du bundle.
Créer un bundle manuellement
Pour créer un bundle manuellement au lieu d’utiliser un modèle de bundle, créez un répertoire de projet sur votre ordinateur local ou un dépôt vide avec un fournisseur Git tiers.
Dans votre répertoire ou dépôt, créez un ou plusieurs fichiers de configuration du bundle en tant qu’entrée. Ces fichiers sont exprimés au format YAML. Il doit y avoir au minimum un (et un seul) fichier de configuration du bundle nommé databricks.yml. Des fichiers de configuration du bundle supplémentaires doivent être référencés dans le mappage include du fichier databricks.yml.
Vous pouvez créer plus facilement et plus rapidement des fichiers YAML conformes à la syntaxe de configuration du bundle de ressources Databricks à l’aide d’un outil tel que Visual Studio Code, PyCharm Professional ou IntelliJ IDEA Ultimate qui prend en charge les fichiers YAML et les fichiers de schéma JSON, comme suit :
Visual Studio Code
Ajoutez la prise en charge du serveur de langage YAML à Visual Studio Code, par exemple en installant l’extension YAML à partir de la place de marché Visual Studio Code.
Générez le fichier de schéma JSON de configuration du bundle de ressources Databricks en exécutant la commande
bundle schemaet en redirigeant la sortie vers un fichier JSON à l’aide de Databricks CLI version 0.218.0 ou supérieure. Par exemple, générez un fichier nommébundle_config_schema.jsondans le répertoire actif, comme suit :databricks bundle schema > bundle_config_schema.jsonCréez ou ouvrez un fichier de configuration du bundle dans le répertoire actuel à l’aide de Visual Studio Code. Ce fichier doit être nommé
databricks.yml.Ajoutez le commentaire suivant au début du fichier de configuration de votre bundle :
# yaml-language-server: $schema=bundle_config_schema.jsonRemarque
Dans le commentaire précédent, si votre fichier de schéma JSON de configuration du bundle de ressources Databricks se trouve dans un chemin d’accès différent, remplacez
bundle_config_schema.jsonpar le chemin d’accès complet au fichier de schéma.Utilisez les fonctionnalités de serveur de langage YAML que vous avez ajoutées précédemment. Pour plus d’informations, consultez la documentation de votre serveur de langage YAML.
PyCharm Professionnel
Générez le fichier de schéma JSON de configuration du bundle de ressources Databricks en exécutant la commande
bundle schemaet en redirigeant la sortie vers un fichier JSON à l’aide de Databricks CLI version 0.218.0 ou supérieure. Par exemple, générez un fichier nommébundle_config_schema.jsondans le répertoire actif, comme suit :databricks bundle schema > bundle_config_schema.jsonConfigurez PyCharm pour reconnaître le fichier de schéma JSON de configuration du bundle, puis effectuez le mappage du schéma JSON en suivant les instructions fournies dans Configurer un schéma JSON personnalisé.
Créez ou ouvrez un fichier de configuration du bundle à l’aide de PyCharm. Ce fichier doit être nommé
databricks.yml. Au fur et à mesure de votre frappe, PyCharm vérifie la syntaxe et la mise en forme du schéma JSON et fournit des conseils de saisie semi-automatique de code.
IntelliJ IDEA Ultimate
Générez le fichier de schéma JSON de configuration du bundle de ressources Databricks en exécutant la commande
bundle schemaet en redirigeant la sortie vers un fichier JSON à l’aide de Databricks CLI version 0.218.0 ou supérieure. Par exemple, générez un fichier nommébundle_config_schema.jsondans le répertoire actif, comme suit :databricks bundle schema > bundle_config_schema.jsonConfigurez IntelliJ IDEA pour reconnaître le fichier de schéma JSON de configuration du bundle, puis effectuez le mappage du schéma JSON en suivant les instructions fournies dans Configurer un schéma JSON personnalisé.
Créez ou ouvrez un fichier de configuration du bundle à l’aide d’IntelliJ IDEA. Ce fichier doit être nommé
databricks.yml. Au fur et à mesure de votre frappe, IntelliJ IDEA vérifie la syntaxe et la mise en forme du schéma JSON et fournit des conseils de saisie semi-automatique de code.
Étape 2 : renseigner les fichiers de configuration du bundle
Les fichiers de configuration du bundle définissent vos workflows Azure Databricks en spécifiant des paramètres tels que les détails de l’espace de travail, les noms des artefacts, les emplacements des fichiers, les détails du travail et les détails du pipeline. En général, la configuration du bundle comporte également des cibles de déploiement de développement, de préproduction et de production. Pour en savoir plus sur les fichiers de configuration de bundle, consultez Configuration d’un bundle de ressources Databricks.
Vous pouvez utiliser la bundle generate commande pour générer automatiquement la configuration de bundle pour une ressource existante dans l’espace de travail, puis pour bundle deployment bind lier la configuration de bundle à la ressource de l’espace de travail pour les maintenir synchronisées. Consultez la liaison de déploiement de bundle databricks et de génération de bundle databricks.
Étape 3 : valider les fichiers de configuration du bundle
Avant de déployer des artefacts ou d’exécuter un travail ou un pipeline, vous devez vérifier que les définitions dans vos fichiers de configuration du bundle sont valides. Pour ce faire, exécutez la commande bundle validate à partir du répertoire racine du projet de bundle. Consultez la validation de l’offre groupée databricks.
databricks bundle validate
Si la validation réussit, un résumé de l’identité du bundle et un message de confirmation sont renvoyés. Générez le schéma à l’aide de la commande databricks bundle schema. Consultez le schéma de bundle databricks.
Étape 4 : déployer le bundle
Avant de déployer le bundle, vérifiez que l’espace de travail distant dispose de fichiers d’espace de travail activés. Consultez l’article Que sont les fichiers d’espace de travail ?
Pour déployer un bundle sur un espace de travail distant, exécutez la bundle deploy commande à partir de la racine du bundle, comme décrit dans le déploiement de l’offre groupée databricks. Databricks CLI effectue le déploiement sur l’espace de travail cible déclaré dans les fichiers de configuration du bundle. Voir targets.
databricks bundle deploy
L’identité unique d’un bundle est définie par son nom, sa cible et l’identité du déployeur. Si ces attributs sont identiques pour différents bundles, les déploiements de ces bundles interféreront les uns avec les autres. Pour plus d’informations, consultez le déploiement de l’offre groupée databricks .
Conseil
Vous pouvez exécuter des commandes databricks bundle en dehors de la racine du bundle en définissant la variable d’environnement BUNDLE_ROOT. Si cette variable d’environnement n’est pas définie, les commandes databricks bundle tentent de trouver la racine du bundle en effectuant une recherche dans le répertoire de travail actuel.
Étape 5 : exécuter le bundle
Pour exécuter un travail ou un pipeline spécifique, exécutez la bundle run commande à partir de la racine du bundle, en spécifiant la tâche ou la clé de pipeline déclarée dans les fichiers de configuration de bundle, comme décrit dans l’exécution du bundle databricks. La clé de ressource est l’élément de niveau supérieur du bloc YAML de la ressource. Si vous ne spécifiez pas de clé de travail ou de pipeline, vous êtes invité à sélectionner une ressource à exécuter parmi une liste de ressources disponibles. Si l’option -t n’est pas spécifiée, la cible par défaut déclarée dans le fichier de configuration du bundle est utilisée. Par exemple, pour exécuter un travail avec la clé hello_job dans le contexte de la cible par défaut :
databricks bundle run hello_job
Pour exécuter un travail avec la clé hello_job dans le contexte d’une cible déclarée avec le nom dev :
databricks bundle run -t dev hello_job
Étape 6 : détruire le bundle
Avertissement
La destruction d’un bundle supprime définitivement les travaux, pipelines et artefacts déployés précédemment dans ce bundle. Cette action ne peut pas être annulée.
Si vous avez terminé avec votre lot et souhaitez supprimer des travaux, des pipelines et des artefacts qui ont été précédemment déployés, exécutez la commande bundle destroy à partir de la racine du lot. Cette commande supprime tous les travaux, pipelines et artefacts précédemment déployés et définis dans les fichiers de configuration du bundle. Consultez databricks bundle destroy.
databricks bundle destroy
Par défaut, vous êtes invité à confirmer la suppression définitive des travaux, pipelines et artefacts précédemment déployés. Pour ignorer ces invites et effectuer une suppression définitive automatique, ajoutez l’option --auto-approve à la commande bundle destroy.