Sdílet prostřednictvím


Režimy nasazení sady prostředků Databricks

Tento článek popisuje syntaxi režimů nasazení sady prostředků Databricks. Sady prostředků umožňují programovou správu pracovních postupů Azure Databricks. Podívejte se , co jsou sady prostředků Databricks?

V pracovních postupech CI/CD vývojáři obvykle kódují, testují, nasazují a spouštějí řešení v různých fázích nebo režimech. Nejjednodušší sada režimů například zahrnuje vývojový režim pro předprodukční ověřování, po kterém následuje produkční režim pro ověřené dodávky. Sady prostředků Databricks poskytují volitelnou kolekci výchozích chování, která odpovídají jednotlivým režimům. Pokud chcete toto chování použít pro konkrétní cíl, nastavte mode nebo nakonfigurujte presets cíl v targets mapování konfigurace. Informace o targetsmapování cílů konfigurace sady.

Režim vývoje

Pokud chcete sadu nasadit ve vývojovém režimu, musíte nejprve přidat mode mapování nastavené na developmentzamýšlený cíl. Tento název dev cíle je například považován za cíl vývoje:

targets:
  dev:
    mode: development

Nasazení cíle v režimu vývoje spuštěním databricks bundle deploy -t <target-name> příkazu implementuje následující chování, které lze přizpůsobit pomocí předvoleb:

  • Předzálohuje všechny prostředky, které nejsou nasazené jako soubory nebo poznámkové bloky s předponou [dev ${workspace.current_user.short_name}] a značkami každé nasazené úlohy a kanálu se značkou dev Azure Databricks.
  • Označí všechny související nasazené kanály Delta Live Tables jako development: true. Viz Použití vývojového režimu ke spuštění aktualizací kanálu.
  • Povolí použití --compute-id <cluster-id> v souvisejících voláních bundle deploy příkazu, které přepíše všechny a všechny existující definice clusteru, které jsou již zadány v souvisejícím konfiguračním souboru sady. Místo použití --compute-id <cluster-id> v souvisejících voláních bundle deploy příkazu můžete compute_id nastavit mapování zde nebo jako podřízené mapování bundle mapování na ID clusteru, který se má použít.
  • Pozastaví všechny plány a triggery na nasazených prostředcích, jako jsou úlohy nebo monitorování kvality. Zrušte pozastavení plánů a aktivačních událostí pro jednotlivé úlohy nastavením schedule.pause_status na UNPAUSED.
  • Umožňuje souběžná spuštění na všech nasazených úlohách pro rychlejší iteraci. Zakažte souběžná spuštění pro jednotlivé úlohy nastavením max_concurrent_runs na 1.
  • Zakáže zámek nasazení pro rychlejší iteraci. Tento zámek zabraňuje konfliktům nasazení, ke kterým v režimu vývoje pravděpodobně nedojde. Znovu povolte zámek nastavením bundle.deployment.lock.enabled na true.

Produkční režim

Pokud chcete sadu nasadit v produkčním režimu, musíte nejprve přidat mode mapování nastavené na productionpožadovaný cíl. Tento název cíle prod se například považuje za produkční cíl:

targets:
  prod:
    mode: production

Nasazení cíle v produkčním režimu spuštěním databricks bundle deploy -t <target-name> příkazu implementuje následující chování:

  • Ověří, že jsou všechny související nasazené kanály Delta Live Tables označené jako development: false.

  • Ověří, že aktuální větev Gitu je rovna větvi Gitu, která je zadaná v cíli. Zadání větve Git v cíli je volitelné a dá se provést s další git vlastností následujícím způsobem:

    git:
      branch: main
    

    Toto ověření lze přepsat zadáním --force při nasazování.

  • Databricks doporučuje používat instanční objekty pro produkční nasazení. To můžete vynutit nastavením run_as instančního objektu. Viz Správa instančních objektů a určení identity spuštění pro pracovní postup Sady prostředků Databricks. Pokud nepoužíváte instanční objekty, poznamenejte si následující další chování:

    • Ověří, že artifact_pathse konkrétní uživatel nepřepíše , file_pathroot_pathstate_path nebo mapování.
    • Ověří, že run_as jsou zadány a permissions mapování, aby bylo jasné, které identity mají specifická oprávnění pro nasazení.
  • Na rozdíl od předchozího chování pro nastavení mode mapování na development, nastavení mode mapování production neumožňuje přepsání existujících definic clusteru, které jsou zadány v souvisejícím konfiguračním souboru sady, například pomocí --compute-id <cluster-id> možnosti nebo compute_id mapování.

Vlastní předvolby

Sady prostředků Databricks podporují konfigurovatelné předvolby cílů, které umožňují přizpůsobit chování cílů. Dostupné předvolby jsou uvedeny v následující tabulce:

Předvolba Popis
name_prefix Řetězec předpony před názvy prostředků.
pipelines_development Jestli je kanál ve vývojovém režimu, nebo ne. Platné hodnoty jsou true nebo false.
trigger_pause_status Stav pozastavení, který se použije pro všechny triggery a plány. Platné hodnoty jsou PAUSED nebo UNPAUSED.
jobs_max_concurrent_runs Počet maximálních povolených souběžných spuštění pro úlohy
tags Sada značek key:value, které platí pro všechny prostředky, které podporují značky, včetně úloh a experimentů. Sady prostředků Databricks nepodporují značky prostředku schema .

Poznámka:

Pokud jsou obě mode a presets jsou nastavené, přednastavení přepíší výchozí chování režimu a nastavení jednotlivých prostředků přepíší přednastavení. Pokud je například plán nastavený na UNPAUSED, ale předvolba trigger_pause_status je nastavená na PAUSED, plán není neprůhledný.

Následující příklad ukazuje vlastní konfiguraci předvoleb pro cíl s názvem dev:

targets:
  dev:
    presets:
      name_prefix: "testing_"      # prefix all resource names with testing_
      pipelines_development: true  # set development to true for pipelines
      trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
      jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
      tags:
        department: finance