Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje syntaxi pro režimy nasazení balíku prostředků Databricks. Sady prostředků umožňují programovou správu pracovních postupů Azure Databricks. Zjistěte , 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 pro cíl v mapování konfigurace targets. Pro informace o
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. Například tento cíl s názvem dev je považován za vývojový cíl.
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ředřadí všechny prostředky, které nejsou nasazené jako soubory nebo poznámkové bloky, s předponou
[dev ${workspace.current_user.short_name}]a označí každou nasazenou úlohu a kanál značkoudevAzure Databricks. - Označí všechny související nasazené deklarativní datové toky Lakeflow Spark jako
development: true. - Povolí použití
--cluster-id <cluster-id>v souvisejících voláních příkazubundle deploy, kterým přepíše veškeré existující definice clusteru, které jsou již zadány v souvisejícím konfiguračním souboru balíčku. Místo použití--cluster-id <cluster-id>v souvisejících voláních příkazubundle deploymůžete zde nastavit mapování pomocícluster_idnebo jako podřízené mapování k mapováníbundlena ID clusteru, který chcete 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_statusnaUNPAUSED. - 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_runsna1. - 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.enablednatrue.
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é deklarativní pipeliny Lakeflow Spark 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ší
gitvlastností následujícím způsobem:git: branch: mainToto ověření lze přepsat zadáním
--forcepři nasazování.Databricks doporučuje používat služební principály pro produkční nasazení. Nastavením
run_asna principál služby můžete toto vynutit. Viz služební vlastníci a Stanovení identity spuštění pro pracovní postup Databricks Asset Bundles. Pokud nepoužíváte aplikační identity, poznamenejte si následující chování:- Ověří, že mapování
artifact_path,file_path,root_pathnebostate_pathnejsou přepsána konkrétnímu uživateli. - Ověří, že mapování
run_asapermissionsjsou zadána, aby bylo jasné, které identity mají specifická oprávnění pro nasazení.
- Ověří, že mapování
Na rozdíl od předchozího chování pro nastavení mapování
modenadevelopment, nastavení mapovánímodenaproductionneumožň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í možnosti--compute-id <cluster-id>nebo mapovánícompute_id.
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:
Poznámka:
Pokud není v tabulce níže uvedena výjimka, a jsou-li nastaveny jak mode, tak presets, pak přednastavení přebírají kontrolu nad výchozím chováním režimu a nastavení jednotlivých prostředků mají přednost před přednastavením. Pokud je například max_concurrent_runs pro úlohu 10, ale předvolba jobs_max_concurrent_runs je nastavená na 20, maximální počet souběžných spuštění úlohy je 10.
| Předvolba | Popis |
|---|---|
artifacts_dynamic_version |
Určuje, jestli se má dynamicky aktualizovat verze whl artefaktů během nasazování. Platné hodnoty jsou true nebo false. Pokud je zadané nastavení konfigurace nejvyšší úrovně artifacts.dynamic_version, přepíše tuto předvolbu. |
jobs_max_concurrent_runs |
Počet maximálních povolených souběžných spuštění pro úlohy |
name_prefix |
Řetězec předpony, který se přidá před názvy zdrojů. |
pipelines_development |
Určuje, jestli je potrubí ve vývojovém režimu. Platné hodnoty jsou true nebo false. |
source_linked_deployment |
Určuje, jestli prostředky vytvořené během nasazení odkazují na zdrojové soubory v pracovním prostoru místo jejich kopií v pracovním prostoru. |
tags |
Sada tagů ve formátu key:value, které se vztahují na všechny zdroje podporující tagy, včetně úloh a experimentů. Sady prostředků Databricks nepodporují tagy pro prostředek schema. |
trigger_pause_status |
Stav pozastavení, který se použije pro všechny triggery a plány. Platné hodnoty jsou PAUSED nebo UNPAUSED.Je-li mode nastavena na development, trigger_pause_status je vždy PAUSED. |
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