Sdílet prostřednictvím


CI/CD na Azure Databricks

Průběžná integrace a průběžné doručování (CI/CD) odkazuje na proces vývoje a doručování softwaru v krátkém a častém cyklech používáním kanálů automatizace. CI/CD je běžné při vývoji softwaru a je stále důležitější v oblasti přípravy dat a datových věd. Díky automatizaci sestavování, testování a nasazení kódu poskytují vývojové týmy spolehlivější verze než ruční procesy.

Databricks poskytuje nástroje pro vývoj kanálů CI/CD, které podporují přístupy, které se můžou mírně lišit od organizace po organizaci kvůli jedinečným aspektům životního cyklu vývoje softwaru každé organizace. Tato stránka obsahuje informace o dostupných nástrojích pro kanály CI/CD v Databricks. Podrobnosti o doporučeních a osvědčených postupech CI/CD najdete v tématu Osvědčené postupy a doporučené pracovní postupy CI/CD v Databricks.

Přehled CI/CD pro projekty strojového učení v Azure Databricks najdete v tématu Jak Databricks podporuje CI/CD pro strojové učení?.

Tok vysoké úrovně

Běžným tokem pro CI/CD pipelinu Azure Databricks je:

  1. Verze: Uložte kód a poznámkové bloky Azure Databricks do systému správy verzí, jako je Git. Díky tomu můžete sledovat změny v průběhu času a spolupracovat s ostatními členy týmu.
  2. Kód: Vývoj testů kódu a jednotek v poznámkovém bloku Azure Databricks v pracovním prostoru nebo místně pomocí integrovaného vývojového prostředí (IDE).
  3. Sestavení: Nastavení Databricks Asset Bundles slouží k automatickému sestavení určitých artefaktů během nasazení.
  4. Nasazení: Nasazení změn do pracovního prostoru Azure Databricks pomocí sad prostředků Databricks s nástroji, jako jsou Azure DevOps, GitHub Actions nebo Jenkins.
  5. Testování: Vývoj a spouštění automatizovaných testů pro ověření změn kódu
    • K otestování integrací použijte nástroje, jako pytest.
  6. Spustit: Pomocí Databricks CLI a Databricks Asset Bundles automatizujte spuštění v pracovních prostorech Azure Databricks.
  7. Monitorování: Monitorování výkonu kódu a produkčních úloh v Azure Databricks pomocí nástrojů, jako je monitorování úloh. To vám pomůže identifikovat a vyřešit všechny problémy, které vznikají ve vašem produkčním prostředí.

Dostupné nástroje

Následující nástroje podporují základní principy CI/CD: verze všech souborů a sjednocení správy prostředků, definování infrastruktury jako kódu, izolace prostředí, automatizace testování a monitorování a automatizace vrácení zpět.

Plocha Tyto nástroje použijte, když chcete...
Sady prostředků Databricks Prostředky můžete programově definovat, nasazovat a spouštět, včetně Lakeflow Jobs, Lakeflow Spark Declarative Pipelines a zásobníků MLOps, s využitím nejlepších postupů a toků CI/CD.
Poskytovatel Terraformu pro Databricks Zřiďte a spravujte pracovní prostory a infrastrukturu Databricks pomocí Terraformu.
Kontinuální integrace a průběžné doručování v Azure Databricks pomocí Azure DevOps Vyvíjejte kanál CI/CD pro Azure Databricks, který používá Azure DevOps.
Ověřování pomocí Azure DevOps v Azure Databricks Ověřování pomocí Azure DevOps
GitHub Actions Do toku CI/CD zahrňte akci GitHubu vyvinutou pro Azure Databricks.
CI/CD s Jenkinsem v Azure Databricks Vyvíjejte kanál CI/CD pro Azure Databricks, který používá Jenkinse.
Orchestrace úloh Lakeflow pomocí Apache Airflow Spravujte a naplánujte datový kanál, který používá Apache Airflow.
Instanční objekty pro CI/CD Používejte servisní identity místo uživatelů v rámci CI/CD.
Ověřování přístupu k Azure Databricks pomocí federace tokenů OAuth K ověřování CI/CD použijte federaci identit úloh, která eliminuje potřebu tajných kódů Databricks, což z něj dělá nejbezpečnější způsob ověřování v Databricks.

Balíky prostředků Databricks

Balíčky prostředků Databricks jsou doporučeným přístupem k CI/CD v Databricks. Pomocí sad prostředků Databricks můžete popsat prostředky Databricks, jako jsou úlohy a kanály jako zdrojové soubory, a sbalit je spolu s dalšími prostředky a poskytnout tak kompletní definici nasaditelného projektu. Tyto sady souborů můžou být řízeny zdroji a k aktivaci nasazení můžete použít externí automatizaci CI/CD, jako je GitHub Actions.

Balíčky zahrnují celou řadu funkcí, jako jsou vlastní šablony pro vynucování konzistence a osvědčených postupů ve vaší organizaci, a komplexní podpora nasazení souborů kódu a konfigurace pro mnoho prostředků Databricks. Vytvoření sady vyžaduje určité znalosti syntaxe konfigurace sady.

Doporučení týkající se použití sad v CI/CD najdete v tématu Osvědčené postupy a doporučené pracovní postupy CI/CD v Databricks.

Další nástroje pro správu zdrojového kódu

Alternativně k použití plného CI/CD se sadami prostředků Databricks nabízí Databricks možnosti pouze pro zdrojové řízení a nasazení souborů kódu a poznámkových bloků.

  • Složka Git: Složky Gitu se dají použít k vyjádření stavu vzdáleného úložiště Git. Ke správě zdrojových souborů a poznámkových bloků můžete vytvořit složku Git pro produkční prostředí. Potom ručně stáhněte složku Git do nejnovějšího stavu nebo použijte externí nástroje CI/CD, jako je GitHub Actions, ke stažení složky Git při sloučení. Tento přístup použijte, pokud nemáte přístup k externím kanálům CI/CD.

    Tento přístup funguje pro externí orchestrátory, jako je Airflow, ale mějte na paměti, že ve správě zdrojového kódu jsou pouze soubory jako notebooky a návrhy dashboardů. Konfigurace pro úlohy nebo kanály, které spouštějí prostředky ve složce Git a konfigurace pro publikování řídicích panelů, nejsou ve správě zdrojového kódu.

  • Git s úlohami: Git s úlohami umožňuje nakonfigurovat některé typy úloh tak, aby jako zdroj souborů kódu používal vzdálené úložiště Git. Když se spustí úloha, Databricks pořídí snímek úložiště a spustí všechny úlohy s danou verzí. Tento přístup podporuje pouze omezené úlohy a pouze soubory kódu (poznámkové bloky a další soubory) jsou řízeny zdrojem. Konfigurace úloh, jako jsou pořadí úkolů, nastavení výpočetních prostředků a plány, nejsou řízeny zdroji, takže tento přístup je méně vhodný pro nasazení napříč pracovními prostory ve více prostředích.