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 targets
mapová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 development
zamýš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čkoudev
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íchbundle 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íchbundle deploy
příkazu můžetecompute_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
naUNPAUSED
. - 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
na1
. - 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
natrue
.
Produkční režim
Pokud chcete sadu nasadit v produkčním režimu, musíte nejprve přidat mode
mapování nastavené na production
pož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_path
se konkrétní uživatel nepřepíše ,file_path
root_path
state_path
nebo mapování. - Ověří, že
run_as
jsou zadány apermissions
mapování, aby bylo jasné, které identity mají specifická oprávnění pro nasazení.
- Ověří, že
Na rozdíl od předchozího chování pro nastavení
mode
mapování nadevelopment
, 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 nebocompute_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