Partager via


Développement des packs de ressources Databricks

Cet article décrit le développement et le cycle de vie d’un pack de ressources Databricks. Pour obtenir des informations générales sur les packs de ressources Databricks, consultez Que sont les packs de ressources Databricks ?.

Cycle de vie d’un pack

Pour comprendre comment utiliser efficacement des packs, vous devez comprendre le cycle de vie de base d’un pack :

  1. Le squelette de pack est créé sur la base d’un projet.
  2. Le projet de pack est développé localement. Un pack contient 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 sources et d’autres artefacts.
  3. Le projet de pack est validé. La validation vérifie les paramètres et les définitions de ressources dans la configuration de pack par rapport aux schémas d’objet correspondants pour garantir que le pack est déployable sur Databricks.
  4. Le pack est déployé sur un espace de travail cible. Le plus souvent, un pack est déployé initialement sur l’espace de travail de développement personnel d’un utilisateur à des fins de test. Une fois le test du pack terminé, celui-ci peut être déployé en préproduction, puis sur des cibles de production.
  5. Les ressources de flux de travail définies dans le pack déployé peuvent être exécutées. Par exemple, vous pouvez exécuter un travail.
  6. Si le pack n’est plus utilisé, il peut être détruit définitivement.

Vous utilisez les commandes de pack Databricks CLI pour créer, valider, déployer, exécuter et détruire des packs, comme décrit dans les sections suivantes.

Étape 1 : Créer un pack

Il existe trois façons de commencer à créer un pack :

  1. Utiliser le modèle de pack par défaut.
  2. Utiliser un modèle de pack personnalisé.
  3. Créer un pack manuellement.

Utiliser un modèle de pack par défaut

Pour utiliser un modèle de pack par défaut Azure Databricks afin de créer un pack de démarrage que vous pourrez ensuite personnaliser, utilisez l’interface CLI Databricks 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. Voir Créer un pack à partir d’un modèle de projet.

databricks bundle init

Vous pouvez afficher la source des modèles de pack par défaut dans les référentiels publics Github databricks/cli et databricks/mlops-stacks .

Passez à l’Étape 2 : remplir les fichiers config du pack.

Utiliser un modèle de pack personnalisé

Pour utiliser un modèle de pack autre que le modèle de pack par défaut Azure Databricks, vous devez connaître le chemin local ou l’URL de l’emplacement du modèle de pack distant. Utilisez la version 0.218.0 ou ultérieure de l’interface CLI Databricks pour exécuter la commande bundle init comme suit :

databricks bundle init <project-template-local-path-or-url>

Pour plus d’informations sur cette commande, consultez Modèles de projets de packs de ressources Databricks. Pour plus d’informations sur un modèle de pack spécifique, consultez la documentation du fournisseur de modèles de pack.

Passez à l’Étape 2 : remplir les fichiers config du pack.

Créer un pack manuellement

Pour créer un pack manuellement au lieu d’utiliser un modèle de pack, créer un emplacement du projet sur votre ordinateur local ou un référentiel vide avec un fournisseur Git tiers.

Dans votre répertoire ou référentiel, créez un ou plusieurs fichiers config de pack en tant qu’entrée. Ces fichiers sont exprimés au format YAML. Chaque pack doit comprendre au minimum (et un seul) fichier config de pack nommé databricks.yml. Des fichiers de configuration de pack supplémentaires doivent être référencés dans le mappage include du fichier databricks.yml.

Pour créer plus facilement et rapidement des fichiers YAML conformes à la syntaxe de configuration du pack de ressources Databricks, vous pouvez utiliser 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

  1. 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.

  2. Générez le fichier de schéma JSON de configuration du pack de ressources Databricks en utilisant l’interface CLI Databricks version 0.218.0 ou ultérieure pour exécuter la commande bundle schema et rediriger la sortie vers un fichier JSON. Par exemple, générez un fichier nommé bundle_config_schema.json dans le répertoire actif, comme suit :

    databricks bundle schema > bundle_config_schema.json
    
  3. Utilisez Visual Studio Code pour créer ou ouvrir un fichier config de pack dans le répertoire actuel. Ce fichier doit être nommé databricks.yml.

  4. Ajoutez le commentaire suivant au début du fichier config de votre pack :

    # yaml-language-server: $schema=bundle_config_schema.json
    

    Remarque

    Dans le commentaire précédent, si votre fichier de schéma JSON de configuration du pack de ressources Databricks se trouve dans un chemin d’accès différent, remplacez bundle_config_schema.json par le chemin d’accès complet à votre fichier de schéma.

  5. 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 Professional

  1. Générez le fichier de schéma JSON de configuration du pack de ressources Databricks en utilisant l’interface CLI Databricks version 0.218.0 ou ultérieure pour exécuter la commande bundle schema et rediriger la sortie vers un fichier JSON. Par exemple, générez un fichier nommé bundle_config_schema.json dans le répertoire actif, comme suit :

    databricks bundle schema > bundle_config_schema.json
    
  2. Configurez PyCharm pour reconnaître le fichier de schéma JSON de configuration du pack, puis effectuez la mise en correspondance du schéma JSON en suivant les instructions fournies dans Configurer un schéma JSON personnalisé.

  3. Utilisez PyCharm pour créer ou ouvrir un fichier config du pack. Ce fichier doit être nommé databricks.yml. Au fur et à mesure de votre frappe, PyCharm vérifie la syntaxe et le format du schéma JSON et fournit des conseils de saisie semi-automatique de code.

IntelliJ IDEA Ultimate

  1. Générez le fichier de schéma JSON de configuration du pack de ressources Databricks en utilisant l’interface CLI Databricks version 0.218.0 ou ultérieure pour exécuter la commande bundle schema et rediriger la sortie vers un fichier JSON. Par exemple, générez un fichier nommé bundle_config_schema.json dans le répertoire actif, comme suit :

    databricks bundle schema > bundle_config_schema.json
    
  2. Configurez IntelliJ IDEA pour reconnaître le fichier de schéma JSON de configuration du pack, puis effectuez la mise en correspondance du schéma JSON en suivant les instructions fournies dans Configurer un schéma JSON personnalisé.

  3. Utilisez IntelliJ IDEA pour créer ou ouvrir un fichier config du pack. Ce fichier doit être nommé databricks.yml. Au fur et à mesure de votre frappe, IntelliJ IDEA vérifie la syntaxe et le format du schéma JSON et fournit des conseils de saisie semi-automatique de code.

Étape 2 : Remplir les fichiers de configuration du pack

Les fichiers de configuration du pack définissent de manière déclarative vos flux de travail 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 informations sur le travail et les détails sur le pipeline. En règle générale, la configuration du pack contient également des cibles de déploiement de développement, de préproduction et de production. Pour obtenir des informations détaillées sur les fichiers de configuration de pack, consultez Configuration du pack de ressources Databricks.

Vous pouvez utiliser la commande bundle generate pour générer automatiquement la configuration de pack pour une ressource existante dans l’espace de travail, puis utiliser bundle deployment bind pour lier la configuration de pack à la ressource dans l’espace de travail afin qu’elles restent synchronisées. Consultez Générer un fichier de configuration groupé et Lier des ressources groupées.

Étape 3 : Valider les fichiers de configuration du pack

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 de pack sont valides. Pour ce faire, exécutez la commande bundle validate à partir du répertoire racine du projet de pack. Voir Valider un pack.

databricks bundle validate

Si la validation réussit, un résumé de l’identité du pack et un message de confirmation sont retournés. Pour générer le schéma, utilisez la commande databricks bundle schema. Voir Afficher le schéma de configuration du pack.

Étape 4 : Déployer le pack

Avant de déployer l’offre groupée, 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 pack sur un espace de travail distant, exécutez la commande bundle deploy à partir de la racine du pack, comme décrit dans Déployer un pack. L’interface CLI Databricks effectue le déploiement sur l’espace de travail cible déclaré dans les fichiers de configuration du pack. Voir Cibles.

databricks bundle deploy

L’identité unique d’un pack est définie par son nom, sa cible et l’identité du déployeur. Si ces attributs sont identiques pour différents packs, les déploiements de ces packs interféreront les uns avec les autres. Pour plus d’informations, consultez Déployer un pack.

Conseil

Vous pouvez exécuter des commandes databricks bundle en dehors de la racine du pack 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 pack en effectuant une recherche dans le répertoire de travail actuel.

Étape 5 : Exécuter le pack

Pour exécuter un travail ou un pipeline spécifique, exécutez la commande bundle run à partir de la racine du pack, en spécifiant la clé du travail ou du pipeline déclarée dans les fichiers de configuration du pack, comme décrit dans Exécuter un pack. 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 config du pack 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 pack

Si vous en avez terminé avec votre pack et souhaitez supprimer des travaux, des pipelines et des artefacts précédemment déployés, exécutez la commande bundle destroy à partir de la racine du pack. Cette commande supprime tous les travaux, pipelines et artefacts précédemment déployés qui sont définis dans les fichiers de configuration du pack. Voir Détruire un pack.

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 permanente automatique, ajoutez l’option --auto-approve à la commande bundle destroy.