Freigeben über


CI/CD mit Databricks-Ressourcenbundles

Azure Databricks empfiehlt die Verwendung von Databricks Asset Bundles für CI/CD, die die Entwicklung und Bereitstellung komplexer Daten-, Analyse- und ML-Projekte für die Azure Databricks-Plattform vereinfachen. Mit Bundles können Sie viele benutzerdefinierte Konfigurationen ganz einfach verwalten und Builds, Tests und Bereitstellungen Ihrer Projekte für Azure Databricks-Entwicklungs-, Staging- und Produktionsarbeitsbereiche automatisieren.

Weitere Informationen zu empfohlenen bewährten CI/CD-Methoden und Workflows mit Bundles finden Sie unter Bewährte Methoden und empfohlene CI/CD-Workflows auf Databricks.

Informationen zu anderen Ansätzen zu CI/CD in Databricks finden Sie unter CI/CD auf Azure Databricks.

Wie verwende ich Databricks Asset Bundles als Teil meiner CI/CD-Pipeline auf Azure Databricks?

Sie können Databricks Asset Bundles verwenden, um Ihre Azure Databricks CI/CD-Implementierung zu definieren und programmgesteuert zu verwalten, die in der Regel Folgendes umfasst:

  • Notizbücher: Azure Databricks-Notizbücher sind häufig ein wichtiger Bestandteil von Data Engineering- und Data Science-Workflows. Sie können die Versionssteuerung für Notizbücher verwenden und sie auch als Teil einer CI/CD-Pipeline überprüfen und testen. Sie können automatisierte Tests mit Notizbüchern ausführen, um zu überprüfen, ob sie wie erwartet funktionieren.
  • Bibliotheken: Verwalten Sie die zum Ausführen des bereitgestellten Codes erforderlichen Bibliotheksabhängigkeiten . Verwenden Sie die Versionssteuerung für Bibliotheken, und fügen Sie sie in automatisierte Tests und Validierungen ein.
  • Workflows: Lakeflow-Aufträge bestehen aus Aufträgen, mit denen Sie automatisierte Aufgaben mithilfe von Notizbüchern oder Spark-Aufträgen planen und ausführen können.
  • Datenpipelines: Sie können auch Datenpipelines in die CI/CD-Automatisierung einschließen, indem Sie Lakeflow Declarative Pipelines verwenden, das Framework in Databricks zum Deklarieren von Datenpipelines.
  • Infrastruktur: Die Infrastrukturkonfiguration enthält Definitionen und Bereitstellungsinformationen für Cluster, Arbeitsbereiche und Speicher für Zielumgebungen. Infrastrukturänderungen können als Teil einer CI/CD-Pipeline überprüft und getestet werden, um sicherzustellen, dass sie konsistent und fehlerfrei sind.

Ein allgemeiner Fluss für eine Azure Databricks CI/CD-Pipeline mit Bundles ist:

  1. Store: Speichern Sie Ihren Azure Databricks-Code und Notizbücher in einem Versionssteuerungssystem wie Git. Auf diese Weise können Sie Änderungen im Laufe der Zeit nachverfolgen und mit anderen Teammitgliedern zusammenarbeiten. Siehe CI/CD mit Databricks Git-Ordnern (Repos) und Bundle Git-Einstellungen.
  2. Code: Entwickeln Von Code- und Komponententests in einem Azure Databricks-Notizbuch im Arbeitsbereich oder lokal mithilfe einer externen IDE. Azure Databricks bietet eine Visual Studio Code-Erweiterung , die das Entwickeln und Bereitstellen von Änderungen an Azure Databricks-Arbeitsbereichen erleichtert.
  3. Build: Verwenden Sie die Einstellungen von Databricks Asset Bundles, um bestimmte Artefakte während der Bereitstellungen automatisch zu erstellen. Weitere Informationen finden Sie unter Artefakte. Darüber hinaus wurde Pylint mit dem Pylint-Plug-In Databricks Labs erweitert , um Codierungsstandards zu erzwingen und Fehler in Ihren Databricks-Notizbüchern und Anwendungscode zu erkennen.
  4. Bereitstellen: Bereitstellen von Änderungen am Azure Databricks-Arbeitsbereich mithilfe von Databricks Asset Bundles in Verbindung mit Tools wie Azure DevOps, Jenkins oder GitHub-Aktionen. Weitere Informationen finden Sie unter Bereitstellungsmodi für Databricks-Ressourcenbundle. Beispiele für GitHub-Aktionen finden Sie unter GitHub Actions.
  5. Test: Entwickeln und ausführen Sie automatisierte Tests, um Ihre Codeänderungen mithilfe von Tools wie Pytest zu überprüfen. Um Ihre Integrationen mit Arbeitsbereichs-APIs zu testen, können Sie mit dem Pytest-Plug-In "Databricks Labs" Arbeitsbereichsobjekte erstellen und nach Abschluss der Tests bereinigen.
  6. Ausführen: Verwenden Sie die Databricks CLI in Verbindung mit Databricks Asset Bundles, um Die Ausführung in Ihren Azure Databricks-Arbeitsbereichen zu automatisieren. Siehe Ausführen eines Auftrags, einer Pipeline oder eines Skripts.
  7. Überwachen: Überwachen Sie die Leistung Ihres Codes und Ihrer Workflows in Azure Databricks mithilfe von Tools wie Azure Monitor oder Datadog. Auf diese Weise können Sie Probleme identifizieren und beheben, die in Ihrer Produktionsumgebung auftreten.
  8. Iterate: Erstellen Sie kleine, häufige Iterationen, um Ihr Data Engineering- oder Data Science-Projekt zu verbessern und zu aktualisieren. Kleine Änderungen sind einfacher rückgängig zu machen als große.