Développez des pipelines avec Declarative Automation Bundles
Les bundles d'automatisation déclarative (anciennement appelés Databricks Asset Bundles) vous permettent de valider, déployer et exécuter par programme des ressources Databricks telles que les LakeFlow Pipelines. Consultez Que sont les Declarative Automation Bundles ?
Cette page décrit comment créer un bundle pour gérer un pipeline par programmation. See Spark Declarative Pipelines. Le bundle est créé à l’aide de la commandepipelines init Databricks CLI, qui définit un pipeline ETL et un Job pour l’exécuter. Vous validez, déployez et exécutez ensuite le pipeline déployé dans votre workspace Databricks sur compute serverless.
Si vous avez des pipelines existants qui ont été créés à l'aide de l'interface utilisateur ou de l'API Databricks et que vous souhaitez déplacer vers des bundles, vous devez les définir dans les fichiers de configuration d'un bundle. Databricks vous recommande de créer d'abord un bundle en suivant les étapes ci-dessous, puis d'y ajouter la configuration et d'autres sources. Voir Récupérer une définition de pipeline existante à l'aide de l'interface utilisateur.
Exigences
- Databricks CLI version 0,283,0 ou supérieure. Pour vérifier la version installée de la Databricks CLI, exécutez la commande
databricks -v. Pour installer la Databricks CLI, consultez Installer ou mettre à jour la Databricks CLI. - uv est nécessaire pour exécuter les tests et installer les dépendances de ce projet depuis un IDE.
- Le workspace distant doit avoir les fichiers de workspace activés. Consultez Qu'est-ce qu'un fichier de workspace ?.
- Un catalogue existant pour les tables dans le pipeline. Consultez Créer des catalogues.
(Facultatif) Installez un module Python pour prendre en charge le développement de pipelines locaux.
Databricks fournit un module Python pour faciliter le développement local de votre code LakeFlow Pipelines en offrant la vérification de la syntaxe, la saisie semi-automatique et la vérification des types de données lorsque vous écrivez du code dans votre IDE.
Le module Python pour le développement local est disponible sur PyPi. Pour installer le module, consultez Python stub pour DLT.
Étape 1 : Configurez l'authentification
Tout d'abord, configurez l'authentification entre le Databricks CLI sur votre machine de développement et votre Databricks Workspace. Cette page suppose que vous souhaitez utiliser l'authentification OAuth d'utilisateur à machine (U2M) et un profil de configuration Databricks correspondant nommé DEFAULT pour l'authentification.
L'authentification U2M est appropriée pour essayer ces étapes en temps réel. Pour les workflows entièrement automatisés, Databricks recommande d'utiliser l'authentification OAuth machine à machine (M2M) à la place. Consultez les instructions de configuration de l'authentification M2M dans Autoriser l'accès du service principal à Databricks avec OAuth.
-
Utilisez la CLI Databricks pour initier la gestion locale des jetons OAuth en exécutant la commande suivante pour chaque workspace cible.
Dans la commande suivante, remplacez
<workspace-url>par l'URL de votre instance de workspace Databricks, parhttps://dbc-a1b2345c-d6e7.cloud.databricks.comexemple.Bashdatabricks auth login --host <workspace-url> -
La CLI Databricks vous invite à enregistrer les informations que vous avez saisies en tant que profil de configuration Databricks. Appuyez sur
Enterpour accepter le nom de profil suggéré, ou entrez le nom d’un profil nouveau ou existant. Tout profil existant portant le même nom est écrasé avec les informations que vous avez saisies. Vous pouvez utiliser des profils pour basculer rapidement votre contexte d'authentification entre plusieurs Workspaces.Pour obtenir une liste de tous les profils existants, dans un terminal ou une invite de commande distinct, utilisez la CLI Databricks pour exécuter la commande
databricks auth profiles. Pour consulter les paramètres existants d’un profil spécifique, exécutez la commandedatabricks auth env --profile <profile-name>. -
Dans votre navigateur web, suivez les instructions à l'écran pour vous connecter à votre Databricks Workspace.
-
Pour afficher la valeur actuelle du token OAuth d'un profil et le timestamp d'expiration à venir du token, exécutez l'une des commandes suivantes :
databricks auth token --host <workspace-url>databricks auth token -p <profile-name>databricks auth token --host <workspace-url> -p <profile-name>
Si vous avez plusieurs profils avec la même valeur
--host, vous devrez peut-être spécifier les options--hostet-pensemble pour aider le CLI Databricks à trouver les informations de jeton OAuth correspondantes correctes.
Étape 2 : Créer le bundle
Initialisez un bundle avec un pipeline :
-
Utilisez votre terminal ou l’invite de commande pour passer à un répertoire de votre machine de développement locale qui contiendra le bundle généré par le Template.
-
Utilisez le CLI Databricks pour exécuter la commande
pipelines init:Bashdatabricks pipelines init -
Pour
Unique name for this project, laissez la valeur default demy_pipeline_project, ou saisissez une valeur différente, puis appuyez surEnter. Ceci détermine le nom du répertoire racine de ce bundle. Ce répertoire racine est créé dans votre répertoire de travail actuel. -
Pour
Initial catalog, entrez le nom d'un catalogue Unity Catalog existant. -
Pour
Use a personal schema for each user working on this project?, sélectionnezyes. -
Pour
Initial language for this project, sélectionnezpython.
Étape 3 : Explorer le bundle
Pour afficher les fichiers générés par le template, accédez au répertoire racine de votre nouveau bundle. La structure suivante est créée par default :
my_pipeline_project
├── databricks.yml
├── pyproject.toml
├── README.md
├── resources
│ ├── my_pipeline_project_etl.pipeline.yml
│ └── sample_job.job.yml
└── src
└── my_pipeline_project_etl
├── explorations
│ └── sample_exploration.ipynb
├── README.md
└── transformations
├── sample_trips_my_pipeline_project.py
└── sample_zones_my_pipeline_project.py
Les fichiers présentant un intérêt particulier sont les suivants :
-
databricks.yml: ce fichier spécifie le nom programmatique du bundle, inclut des références aux fichiers du bundle, définit les variables de catalogue et de schéma, et spécifie les paramètres pour les Workspace cibles. -
resources/sample_job.job.ymletresources/<project-name>_etl_pipeline.yml: Ces fichiers définissent le Job qui contient une tâche de refresh de pipeline, et les paramètres du pipeline. Pour plus d'informations sur les paramètres de pipeline, consultez le pipeline. -
src/: Ce dossier contient les fichiers source, les explorations et les transformations de l'exemple de pipeline.
Si vous ajoutez des tests, utilisez pytest pour les exécuter localement :
uv run pytest
README.md: ce fichier contient des informations supplémentaires sur la prise en main et l'utilisation de ce Template de bundle.
Étape 4 : Validez la configuration du bundle
Vérifiez maintenant si la configuration du bundle est valide.
-
À partir du répertoire racine, utilisez la CLI Databricks pour exécuter la commande
bundle validate:Bashdatabricks bundle validate -
Si un résumé de la configuration du bundle est renvoyé, la validation a réussi. Si des erreurs sont renvoyées, corrigez-les, puis répétez cette étape.
Étape 5 : Déployer le pipeline vers le workspace distant
Ensuite, déployez le bundle sur votre Databricks Workspace distant et vérifiez le pipeline dans votre Workspace.
-
À partir de la racine du bundle, utilisez une commande CLI Databricks
deploy:Bashdatabricks bundle deploy --target devOu :
Bashdatabricks pipelines deploy --target dev
Le Template default inclut un Job qui exécute le pipeline tous les jours, mais celui-ci est mis en pause pour le mode de déploiement cible dev. Consultez les modes de déploiement des Declarative Automation Bundles.
-
Confirmez que le bundle a été déployé :
- Dans la barre latérale de votre Workspace Databricks, cliquez sur Workspace .
- Cliquez sur le dossier Utilisateurs >
<your-username>>.bundleet trouvez votre projet de bundle.
-
Vérifiez si votre pipeline a été créé :
- Dans la barre latérale de votre workspace Databricks, cliquez sur Tâches & Pipelines .
- Facultativement, sélectionnez les filtres Pipelines et Propriété .
- Cliquez sur [dev
<your-username>]<project-name>_etl .
Si vous apportez des modifications à votre bundle après cette étape, vous devriez répéter les étapes 4 et 5 pour vérifier si la configuration de votre bundle est toujours valide et ensuite redéployer le projet.
Étape 6 : Exécuter le pipeline déployé
trigger maintenant une exécution du pipeline dans votre Workspace depuis la ligne de commande.
-
À partir du répertoire racine, utilisez la commande
pipelines runde la CLI Databricks. S'il n'y a qu'un seul pipeline dans le projet, vous n'avez pas besoin de spécifier de nom de pipeline.Bashdatabricks pipelines run my_pipeline_project_etl --target dev -
Copiez la valeur de
Update URLqui apparaît dans votre terminal et collez cette valeur dans votre navigateur web pour ouvrir votre workspace Databricks. -
Dans votre workspace Databricks, une fois l'exécution du pipeline terminée avec succès, cliquez sur les vues matérialisées pour voir les détails de chaque vue.
Si vous apportez des modifications à votre bundle après cette étape, vous devez répéter les étapes 4-6 pour vérifier si votre configuration de bundle est toujours valide, redéployer le projet et exécuter le projet redéployé.
Étape 7 : Historique de sortie et Logs
Les informations fournies par les commandes pipelines history et pipelines logs peuvent aider à diagnostiquer les défaillances.
Pour récupérer les exécutions passées du pipeline :
databricks pipelines history my_pipeline_project_etl
Updates Summary for pipeline my_pipeline_project_etl:
Update ID: a62293ec-8a63-43b7-8629-b218d56dac7c
State: COMPLETED
Cause: API_CALL
Creation Time: 2026-01-29T23:16:14Z
Full Refresh: false
Validate Only: false
Pour afficher (au format JSON) les événements de la mise à jour la plus récente du pipeline :
databricks pipelines logs my_pipeline_project_etl
Utilisez jq pour filtrer les résultats. Consultez Filtrer la sortie JSON avec jq.
Étape 8 : Nettoyage
Au cours de cette étape, vous supprimez le bundle déployé et le pipeline de votre workspace.
-
À partir du répertoire racine, utilisez la CLI Databricks pour exécuter la commande
pipelines destroy:Bashdatabricks pipelines destroy --target dev -
Lorsque vous êtes invité à détruire définitivement les ressources, le pipeline, ainsi que les tables et les vues gérées par le pipeline, tapez
yet appuyez surEnter. -
Si vous souhaitez également supprimer le bundle de votre machine de développement, vous pouvez maintenant supprimer le répertoire de projet local.