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 režim vývojového pro předprodukční ověřování, po kterém následuje režim produkčního 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 pro cíl v mapování konfigurace targets. Informace o targetsmapování cílů konfigurace sady.

Režim vývoje

Pokud chcete balíček nasadit ve vývojovém režimu, musíte nejprve přidat mapování mode, které je nastavené na development, do zamýšleného cíle. 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.
  • 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 příkazu bundle deploy můžete zde nastavit mapování pomocí compute_id, nebo ho nastavit jako podřízené mapování k mapování bundle, pro ID clusteru, který má být použit.
  • 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

Pro nasazení sady v produkčním režimu musíte nejprve přidat mapování mode, které je nastaveno na production, do zamýšleného cíle. 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 všechny související nasazené kanály Delta Live Tables jsou 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 .
source_linked_deployment Vyhrazeno pro budoucí použití. Bez ohledu na to, zda prostředky vytvořené během nasazení odkazují na zdrojové soubory v pracovním prostoru místo jejich kopií v pracovním prostoru.

Poznámka:

Pokud jsou nastaveny mode i presets, přednastavení mají přednost před výchozím nastavením režimu a nastavení jednotlivých prostředků mají přednost před přednastaveními. Pokud je například plán nastaven na UNPAUSED, ale předvolba trigger_pause_status je nastavena na PAUSED, plán je odblokován.

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