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 lišit mezi organizacemi z důvodu jedinečných aspektů jejich životního cyklu vývoje softwaru. Tato stránka obsahuje informace o dostupných nástrojích pro kanály CI/CD v Databricks.

Podrobnosti o doporučeních pro vývojáře a CI/CD a osvědčených postupech najdete v následujících tématech:

Tok vysoké úrovně

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

  1. Version: Uložte kód Azure Databricks a poznámkové bloky 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. Code: 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í deklarativních automatizačních balíčků slouží k automatickému sestavení určitých artefaktů během nasazení.
  4. Deploy: Nasaďte změny do pracovního prostoru Azure Databricks pomocí deklarativních balíčků automatizace pomocí nástrojů, 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. Run: K automatizaci spuštění v pracovních prostorech Azure Databricks použijte rozhraní příkazového řádku Databricks s balíčky deklarativní automatizace.
  7. Monitor: Monitorujte výkon 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...
Deklarativní balíčky automatizace Prostředky Databricks můžete definovat, nasazovat a spouštět prostřednictvím kódu programu, včetně úloh Lakeflow, kanálů Lakeflow a zásobníků MLOps s využitím osvědčených postupů a toků CI/CD.
Poskytovatel Terraformu pro Databricks Zřiďte a spravujte pracovní prostory a infrastrukturu Databricks pomocí Terraformu. Podrobnosti o tom, kdy použít zprostředkovatele Databricks Terraform místo deklarativních sad automatizace, najdete v tématu Vývojářské nástroje případy použití.
Kontinuásní integrace a doručování Azure Databricks pomocí Azure DevOps Vytvořte kanál CI/CD pro Azure Databricks, který používá Azure DevOps.
Ověřte se pomocí Azure DevOps na Azure Databricks Ověřte se pomocí Azure DevOps.
GitHub Actions Do toku CI/CD zahrňte GitHub akci vyvinutou pro Azure Databricks.
Webhooky Git pro automatické nasazení aplikace Automaticky znovu nasadit aplikaci Databricks, když provedete push do její nakonfigurované větve Git. Azure Databricks registruje webhook (háček služby v Azure DevOps) v repozitáři, takže se změny nasazují bez pracovního postupu CI/CD.
CI/CD s Jenkinsem v Azure Databricks Vytvořte 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ěřte přístup 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.

Deklarativní balíčky automatizace

Deklarativní balíčky automatizace jsou doporučeným přístupem k CI/CD v Databricks. Balíčky deklarativní automatizace slouží k popisu prostředků Databricks, jako jsou úlohy a kanály jako zdrojové soubory, a jejich spojení s dalšími prostředky k zajištění komplexní definice 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 pracovních postupech CI/CD v databricks a osvědčených postupech pro vývojáře v Databricks.

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

Jako alternativu k použití úplné CI/CD s deklarativními balíčky automatizace nabízí Databricks možnosti pouze pro správu zdrojového kódu a nasazování 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ž začne spuštění úlohy, Azure Databricks pořídí snímek repozitáře a spustí všechny úkoly na této verzi. 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.

  • Git s aplikacemi: Databricks Apps lze nasazovat přímo z vzdáleného Git repozitáře místo nahrávání souborů do pracovního prostoru. Konfigurujete repozitář v aplikaci a nasadíte větev, tag nebo commit, takže běžící aplikace je připnuta ke konkrétnímu commitu. Pushnutí do nakonfigurované větve může aplikaci automaticky znovu nasadit. To funguje s databricks apps CLI nebo s deklarativními automatizačními balíčky (git_repository a git_source). Příklad použití GitHub Actions najdete v části CI/CD pro Databricks Apps s GitHub Actions.