Que sont les Declarative Automation Bundles ?
Les Declarative Automation Bundles (anciennement appelés Databricks Asset Bundles) sont un outil pour faciliter l'adoption des meilleures pratiques d'ingénierie logicielle, y compris la gestion de versions, la revue de code, les tests, et l'intégration et la livraison continues (CI/CD), pour vos projets de données et d'IA. Les Bundles offrent un moyen d’inclure des métadonnées avec les fichiers source de votre projet et permettent de décrire les ressources Databricks telles que les Jobs et les pipelines en tant que fichiers source. En fin de compte, un bundle est une définition de bout en bout d'un projet, y compris la façon dont le projet doit être structuré, testé et déployé. Cela facilite la collaboration sur les projets pendant le développement actif.
La collection de fichiers source et de métadonnées de votre projet de bundle est déployée en un seul bundle dans votre environnement cible. Un bundle comprend les éléments suivants :
- Infrastructure cloud et configurations de Workspace requises
- Les fichiers sources, tels que les notebooks et les fichiers Python, qui incluent la logique métier
- Définitions et paramètres des Ressources Databricks, tels que les Lakeflow Jobs, les Lakeflow Pipelines, les tableaux de bord, les Endpoint Model Serving, les Expérimentations MLflow et les modèles MLflow enregistrés
- Tests unitaires et tests d'intégration
Le diagramme suivant donne une vue d'ensemble d'un pipeline de développement et CI/CD avec des bundles :

Présentation vidéo
Cette vidéo vous montre comment travailler avec les Declarative Automation Bundles (5 minutes).
Quand devrais-je utiliser des offres groupées ?
Les Declarative Automation Bundles sont une approche Infrastructure-as-Code (IaC) pour gérer vos projets Databricks. Utilisez-les lorsque vous souhaitez gérer des projets complexes où plusieurs contributeurs et l'automatisation sont essentiels, et où l'intégration et le déploiement continus (CI/CD) sont une exigence. Étant donné que les bundles sont définis et gérés via des Template YAML et les fichiers que vous créez et maintenez en même temps que le code source, ils s'adaptent bien aux scénarios où IaC est une approche appropriée.
Les scénarios idéaux pour les bundles incluent :
- Développez des projets de données, d'analytique et de ML dans un environnement collaboratif. Les bundles peuvent vous aider à organiser et à gérer efficacement divers fichiers source. Cela garantit une collaboration fluide et des processus rationalisés.
- Itérez plus rapidement sur les problèmes ML. Gérez les ressources de Pipelines de ML (tels que les Jobs d'entraînement et d'inférence par batch) en utilisant des projets de ML qui suivent les meilleures pratiques de production dès le début.
- Définissez des normes organisationnelles pour les nouveaux projets en créant des Templates de bundles personnalisés qui incluent des autorisations par default, des Service Principals et des configurations CI/CD.
- Conformité réglementaire : dans les secteurs d'activité où la conformité réglementaire est une préoccupation majeure, les bundles peuvent aider à maintenir un historique versionné du code et du travail d'infrastructure. Ceci contribue à la gouvernance et garantit le respect des normes de conformité nécessaires.
Comment fonctionnent les bundles ?
Les métadonnées des bundles sont définies à l'aide de fichiers YAML qui spécifient les artefacts, les ressources et la configuration d'un projet Databricks. Le CLI Databricks peut ensuite être utilisé pour valider, déployer et exécuter des bundles à l'aide de ces fichiers YAML de bundle. Vous pouvez exécuter des projets de bundle à partir d'IDEs, de terminaux ou directement depuis Databricks.
Les bundles peuvent être créés manuellement ou à partir d'un Template. La CLI Databricks fournit des templates par défaut pour des cas d'utilisation simples, mais pour des Jobs plus spécifiques ou complexes, vous pouvez créer des templates de bundle personnalisés pour mettre en œuvre les meilleures pratiques de votre équipe et maintenir la cohérence des configurations courantes.
Pour plus de détails sur le YAML de configuration utilisé pour exprimer les Declarative Automation Bundles, consultez la configuration des Declarative Automation Bundles.
Que dois-je installer pour utiliser les bundles ?
Les Declarative Automation Bundles sont une fonctionnalité de la Databricks CLI. Vous créez des bundles localement, puis vous utilisez la Databricks CLI pour déployer vos bundles vers des Databricks Workspace distants cibles et exécuter des workflows de bundle dans ces Workspace à partir de la ligne de commande.
Si vous souhaitez simplement utiliser des bundles dans le Workspace, vous n'avez pas besoin d'installer l'interface CLI de Databricks. Voir Collaborer sur des bundles dans le Workspace.
Pour créer, déployer et exécuter des bundles dans vos Databricks workspaces :
-
Vos workspaces Databricks distants doivent avoir les fichiers de workspace activés. Si vous utilisez Databricks Runtime version 11.3 LTS ou une version ultérieure, cette fonctionnalité est activée par default.
-
Vous devez installer Databricks CLI, version v0,218.0 ou supérieure. Pour installer ou mettre à jour l'interface de ligne de commande Databricks, consultez Installer ou mettre à jour le CLI Databricks.
Databricks vous recommande de mettre à jour régulièrement vers la dernière version du CLI afin de tirer parti des nouvelles fonctionnalités de bundle. Pour trouver la version de la CLI Databricks installée, exécutez la commande suivante :
shdatabricks --version -
Vous avez configuré la CLI Databricks pour accéder à vos Workspaces Databricks. Databricks recommande de configurer l'accès à l'aide de l'authentification OAuth user-to-machine (U2M), qui est décrite dans Configurer l'accès à votre Workspace. D'autres méthodes d'authentification sont décrites dans Authentication for Declarative Automation Bundles.
Comment démarrer avec les bundles ?
Le moyen le plus rapide de start le développement de bundles locaux est d'utiliser un template de projet de bundle. Créez votre premier projet de bundle à l'aide de la commande CLI bundle init de Databricks. Cette commande présente un choix de templates de bundles default fournis par Databricks et pose une série de questions pour initialiser les variables du projet.
databricks bundle init
La création de votre bundle est la première étape du cycle de vie d'un bundle. Ensuite, développez votre bundle en définissant les paramètres du bundle et les ressources dans les databricks.yml et les fichiers de configuration des ressources. Enfin, validez et déployez votre bundle, puis exécutez vos workflows.
Les exemples de configuration de bundle sont disponibles dans Exemples de configuration de bundle et le repository d'exemples de bundle sur GitHub.
Étapes suivantes
- Créez un bundle qui déploie un Notebook dans un workspace Databricks, puis exécute ce Notebook déployé dans un job ou un pipeline Databricks. Consultez Développer un job avec les Declarative Automation Bundles et Développer des pipelines avec les Declarative Automation Bundles.
- Créez un bundle qui déploie et exécute une pile MLOps. Consultez Declarative Automation Bundles pour les piles MLOps.
- Démarrez un déploiement de bundle dans le cadre d'un workflow CI/CD (intégration continue/déploiement continu) dans GitHub. Consultez Exécuter un workflow CI/CD avec un bundle qui exécute une mise à jour de pipeline.
- Créez un bundle qui crée, déploie et appelle un fichier Python wheel. Voir Créer un fichier Python wheel à l'aide des Declarative Automation Bundles.
- Générez la configuration de votre bundle pour un Job ou une autre Ressource dans votre Workspace, puis liez-la à la Ressource du Workspace afin que la configuration reste synchronisée. Consultez databricks bundle generate et databricks bundle deployment bind.
- Créez et déployez un bundle dans le workspace. Voir Collaborer sur des bundles dans le Workspace.
- Créez un template personnalisé que vous et d’autres pouvez utiliser pour créer un bundle. Un custom Template peut inclure des autorisations par default, des Service Principals et une configuration CI/CD personnalisée. Consultez les modèles de projet Declarative Automation Bundles.
- Migrez de dbx vers les Declarative Automation Bundles. Voir Migrer de dbx vers des bundles.
- Découvrez les dernières nouveautés majeures publiées pour les Declarative Automation Bundles. Consultez les notes de version de la fonctionnalité Declarative Automation Bundles.