Qu’est-ce que le CI/CD sur Azure Databricks ?
Cet article est une introduction au CI/CD sur Databricks. L’intégration continue et la livraison continue (CI/CD) font référence au processus de développement et de livraison de logiciels dans des cycles courts et fréquents grâce à l’utilisation de pipelines d’automatisation. Le CI/CD est commun au développement de logiciels et devient de plus en plus nécessaire à l’engineering données et à la science des données. En automatisant la génération, le test et le déploiement du code, les équipes de développement sont en mesure de livrer des versions de manière plus fiable que les processus plus manuels qui se retrouvent encore fréquemment dans de nombreuses équipes d’engineering données et de science des données.
Azure Databricks recommande d’utiliser des Packs de ressources Databricks pour CI/CD, ce qui permet le développement et le déploiement de projets complexes de données, d’analyse et de ML pour la plateforme Azure Databricks. Les offres groupées vous permettent de gérer facilement de nombreuses configurations personnalisées et d’automatiser les builds, les tests et les déploiements de vos projets sur des espaces de travail de développement, de préproduction et de production Azure Databricks.
Pour obtenir une vue d’ensemble du CI/CD pour les projets de Machine Learning sur Azure Databricks, consultez Comment Databricks prend-il en charge le CI/CD pour le Machine Learning ?.
Qu’est-ce qu’un pipeline CI/CD sur Azure Databricks ?
Vous pouvez utiliser les Packs de ressources Databricks pour définir et gérer par programmation votre implémentation CI/CD Azure Databricks, qui inclut généralement :
- Notebooks : les notebooks Azure Databricks sont souvent un élément clé des workflows d’engineering données et de science des données. Vous pouvez utiliser la gestion de version pour les notebooks, ainsi que les valider et les tester dans le cadre d’un pipeline CI/CD. Vous pouvez exécuter des tests automatisés sur des notebooks pour vérifier s’ils fonctionnent comme prévu.
- Bibliothèques : gérez les dépendances de bibliothèque requises pour exécuter votre code déployé. Utilisez la gestion de version sur les bibliothèques et incluez-les dans les tests et validations automatisés.
- Flux de travail: Les travaux Databricks sont composés de travaux qui vous permettent de planifier et d’exécuter des tâches automatisées à l’aide de notebooks ou de travaux Spark.
- Pipelines de données : vous pouvez également inclure des pipelines de données dans l’automatisation CI/CD, à l’aide de Delta Live Tables, l’infrastructure de Databricks pour la déclaration de pipelines de données.
- Infrastructure : la configuration de l’infrastructure inclut des définitions et des informations d’approvisionnement pour les clusters, les espaces de travail et le stockage pour des environnements cibles. Les modifications d’infrastructure peuvent être validées et testées dans le cadre d’un pipeline CI/CD, en veillant à ce qu’elles soient cohérentes et exemptes d’erreurs.
Étapes de CI/CD sur Azure Databricks
Un flux classique pour un pipeline CI/CD Azure Databricks comprend les étapes suivantes :
- Stocker : stockez votre code et vos notebooks Azure Databricks dans un système de gestion de version comme Git. Cela vous permet de suivre les modifications au fil du temps et de collaborer avec d’autres membres de l’équipe. Consultez les Techniques CI/CD avec Git et les dossiers Git Databricks (Repos) et les Paramètres Git groupés.
- Coder : développez du code et les tests unitaires dans un notebook Azure Databricks dans l’espace de travail ou localement à l’aide d’un environnement de développement intégré (IDE) externe. Azure Databricks fournit une extension Visual Studio Code qui facilite le développement et le déploiement de modifications vers des espaces de travail Azure Databricks.
- Générer : utilisez les paramètres des packs de ressources Databricks pour générer automatiquement certains artefacts pendant les déploiements. Consultez artefacts. En outre, Pylint étendu avec le plug-in Pylint Databricks Labs permet d’appliquer des normes de codage et de détecter des bogues dans vos notebooks Databricks et le code d’application.
- Déployer : déployez des modifications dans l’espace de travail Azure Databricks à l’aide de packs de ressources Databricks conjointement avec des outils tels qu’Azure DevOps, Jenkins ou GitHub Actions. Consultez Modes de déploiement du pack de ressources Databricks.
- Test : développez et exécutez des tests automatisés pour valider vos modifications de code à l’aide d’outils tels que pytest. Pour tester vos intégrations avec les API d’espace de travail, le plug-in Pytest Databricks Labs vous permet de créer des objets d’espace de travail et de les nettoyer une fois les tests terminés.
- Exécuter : utilisez l’interface CLI Databricks conjointement avec les packs de ressources Databricks pour automatiser les exécutions dans vos espaces de travail Azure Databricks. Consultez Exécuter un pack.
- Superviser : supervisez les performances de votre code et de vos workflows dans Azure Databricks à l’aide d’outils tels qu’Azure Monitor ou Datadog. Cela vous permet d’identifier et de résoudre les problèmes qui surviennent dans votre environnement de production.
- Itérer : effectuez de petites itérations fréquentes pour améliorer et mettre à jour votre projet d’engineering données ou de science des données. Les petites modifications sont plus faciles à restaurer que les grandes.
Liens connexes
Pour plus d’informations sur la gestion du cycle de vie des ressources et des données Azure Databricks, consultez la documentation suivante sur les outils CI/CD et de pipeline de données.
Domaine | Utilisez ces outils lorsque vous souhaitez... |
---|---|
Packs de ressources Databricks | Définissez, déployez et exécutez par programmation des tâches Azure Databricks, des pipelines Delta Live Tables et des piles MLOps à l’aide des meilleures pratiques et des workflows CI/CD. |
Fournisseur Databricks Terraform | Provisionnez et gérez l’infrastructure et les ressources Databricks à l’aide de Terraform. |
Workflows CI/CD avec l’intégration Git et des dossiers Git Databricks | Utilisez GitHub et les dossiers Git Databricks pour le contrôle de code source et les workflows CI/CD. |
S’authentifier auprès d’Azure DevOps sur Databricks | S’authentifier auprès d’Azure DevOps. |
Utiliser un principal de service Microsoft Entra pour authentifier l’accès aux dossiers Git Azure Databricks | Utilisez un principal de service MS Entra pour authentifier l’accès aux dossiers Git Databricks. |
Intégration et livraison continues sur Azure Databricks avec Azure DevOps | Développez un pipeline CI/CD pour Azure Databricks qui utilise Azure DevOps. |
Intégration et livraison continues avec GitHub Actions | Développez un workflow CI/CD sur GitHub qui utilise GitHub Actions développé pour Azure Databricks. |
CI/CD avec Jenkins sur Azure Databricks | Développer un pipeline CI/CD pour Azure Databricks qui utilise Jenkins. |
Orchestrer des tâches Azure Databricks avec Apache Airflow | Gérer et planifier un pipeline de données qui utilise Apache Airflow. |
Principaux de service pour CI/CD | Utilisez des principaux de service, à la place des utilisateurs, avec des systèmes CI/CD. |