Dela via


Vad är CI/CD på Azure Databricks?

Den här artikeln är en introduktion till CI/CD på Databricks. Kontinuerlig integrering och kontinuerlig leverans (CI/CD) avser processen att utveckla och leverera programvara i korta, frekventa cykler med hjälp av automationspipelines. CI/CD är vanligt inom programvaruutveckling och blir allt mer nödvändigt för datateknik och datavetenskap. Genom att automatisera skapandet, testningen och distributionen av kod kan utvecklingsteam leverera versioner på ett mer tillförlitligt sätt än med de manuella processer som fortfarande är gemensamma för datateknik- och datavetenskapsteam.

Azure Databricks rekommenderar att du använder Databricks-tillgångspaket för CI/CD, vilket möjliggör utveckling och distribution av komplexa data-, analys- och ML-projekt för Azure Databricks-plattformen. Med paket kan du enkelt hantera många anpassade konfigurationer och automatisera byggen, tester och distributioner av dina projekt till Azure Databricks-arbetsytor för utveckling, mellanlagring och produktion.

En översikt över CI/CD för maskininlärningsprojekt i Azure Databricks finns i Hur stöder Databricks CI/CD för maskininlärning?.

Vad finns i en CI/CD-pipeline i Azure Databricks?

Du kan använda Databricks-tillgångspaket för att definiera och programmatiskt hantera din Azure Databricks CI/CD-implementering, vilket vanligtvis omfattar:

  • Notebook-filer: Azure Databricks-notebook-filer är ofta en viktig del av arbetsflöden för datateknik och datavetenskap. Du kan använda versionskontroll för notebook-filer och även verifiera och testa dem som en del av en CI/CD-pipeline. Du kan köra automatiserade tester mot notebook-filer för att kontrollera om de fungerar som förväntat.
  • Bibliotek: Hantera de biblioteksberoenden som krävs för att köra din distribuerade kod. Använd versionskontroll på bibliotek och inkludera dem i automatiserad testning och validering.
  • Arbetsflöden: Databricks-jobb består av jobb som gör att du kan schemalägga och köra automatiserade uppgifter med hjälp av notebook-filer eller Spark-jobb.
  • Datapipelines: Du kan också inkludera datapipelines i CI/CD-automatisering, med hjälp av Delta Live Tables, ramverket i Databricks för att deklarera datapipelines.
  • Infrastruktur: Infrastrukturkonfigurationen innehåller definitioner och etableringsinformation för kluster, arbetsytor och lagring för målmiljöer. Infrastrukturändringar kan verifieras och testas som en del av en CI/CD-pipeline, vilket säkerställer att de är konsekventa och felfria.

Steg för CI/CD på Azure Databricks

Ett typiskt flöde för en Azure Databricks CI/CD-pipeline innehåller följande steg:

  1. Store: Lagra din Azure Databricks-kod och dina notebook-filer i ett versionskontrollsystem som Git. På så sätt kan du spåra ändringar över tid och samarbeta med andra teammedlemmar. Se CI/CD-tekniker med Git- och Databricks Git-mappar (Repos) och git-paketinställningar.
  2. Kod: Utveckla kod- och enhetstester i en Azure Databricks-notebook-fil på arbetsytan eller lokalt med hjälp av en extern IDE. Azure Databricks tillhandahåller ett Visual Studio Code-tillägg som gör det enkelt att utveckla och distribuera ändringar till Azure Databricks-arbetsytor.
  3. Skapa: Använd inställningarna för Databricks-tillgångspaket för att automatiskt skapa vissa artefakter under distributioner. Se artefakter.
  4. Distribuera: Distribuera ändringar till Azure Databricks-arbetsytan med databricks-tillgångspaket tillsammans med verktyg som Azure DevOps, Jenkins eller GitHub Actions. Se Distributionslägen för Databricks Asset Bundle.
  5. Test: Utveckla och köra automatiserade tester för att verifiera dina kodändringar med hjälp av verktyg som pytest.
  6. Kör: Använd Databricks CLI tillsammans med Databricks-tillgångspaket för att automatisera körningar på dina Azure Databricks-arbetsytor. Se Kör ett paket.
  7. Övervaka: Övervaka prestanda för din kod och dina arbetsflöden i Azure Databricks med hjälp av verktyg som Azure Monitor eller Datadog. Detta hjälper dig att identifiera och lösa eventuella problem som uppstår i produktionsmiljön.
  8. Iterera: Gör små, frekventa iterationer för att förbättra och uppdatera ditt datateknik- eller datavetenskapsprojekt. Små ändringar är enklare att återställa än stora.

Mer information om hur du hanterar livscykeln för Azure Databricks-tillgångar och data finns i följande dokumentation om CI/CD- och datapipelineverktyg.

Ytdiagram Använd de här verktygen när du vill...
Databricks-tillgångspaket Definiera, distribuera och köra Azure Databricks-jobb, Delta Live Tables-pipelines och MLOps Stacks programmatiskt med hjälp av metodtips och arbetsflöden för CI/CD.
CI/CD-arbetsflöden med Git- och Databricks Git-mappar Använd GitHub- och Databricks Git-mappar för källkontroll och CI/CD-arbetsflöden.
Autentisera med Azure DevOps på Databricks Autentisera med Azure DevOps.
Använda tjänstens huvudnamn för Microsoft Entra för att autentisera åtkomst till Azure Databricks Git-mappar Använd tjänstens huvudnamn för MS Entra för att autentisera åtkomsten till Databricks Git-mappar.
Kontinuerlig integration och leverans i Azure Databricks med Azure DevOps Utveckla en CI/CD-pipeline för Azure Databricks som använder Azure DevOps.
Kontinuerlig integrering och leverans med GitHub Actions Utveckla ett CI/CD-arbetsflöde på GitHub som använder GitHub Actions som utvecklats för Azure Databricks.
CI/CD med Jenkins på Azure Databricks Utveckla en CI/CD-pipeline för Azure Databricks som använder Jenkins.
Samordna Azure Databricks-jobb med Apache Airflow Hantera och schemalägga en datapipeline som använder Apache Airflow.
Tjänstens huvudnamn för CI/CD Använd tjänstens huvudnamn, i stället för användare, med CI/CD-system.