bundle
skupina příkazů
Poznámka:
Tyto informace platí pro Databricks CLI verze 0.205 a vyšší. Rozhraní příkazového řádku Databricks je ve veřejné ukázce.
Použití rozhraní příkazového řádku Databricks podléhá licenci Databricks a oznámení o ochraně osobních údajů Databricks, včetně všech ustanovení o využití.
Skupina příkazů bundle
v rozhraní příkazového řádku Databricks umožňuje programově ověřovat, nasazovat a spouštět pracovní postupy Azure Databricks, jako jsou úlohy Azure Databricks , kanály DLT a MLOps Stacks. Podívejte se na vysvětlení, co jsou balíčky prostředků Databricks.
Příkazy spustíte bundle
tak, že je připojíte k databricks bundle
. Pokud chcete zobrazit nápovědu k příkazu bundle
, spusťte databricks bundle -h
.
Vytvoření sady ze šablony projektu
Pokud chcete vytvořit sadu prostředků Databricks pomocí výchozí šablony sady prostředků Databricks pro Python, spusťte bundle init
následující příkaz a pak odpovězte na výzvy na obrazovce:
databricks bundle init
Pokud chcete vytvořit sadu prostředků Databricks pomocí vlastní šablony sady prostředků Databricks, spusťte bundle init
následující příkaz:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Viz také:
- Šablony projektů pro asset bundle Databricks
- Vytvoření úlohy v Azure Databricks pomocí sad prostředků Databricks
- vývoj kanálů DLT s využitím sad prostředků Databricks
- Sady prostředků Databricks pro stohy MLOps
Zobrazení schématu konfigurace sady
Pokud chcete zobrazit schéma konfigurace sady prostředků, spusťte bundle schema
příkaz následujícím způsobem:
databricks bundle schema
Pokud chcete vytvořit výstup konfiguračního schématu sady prostředků Databricks jako soubor JSON, spusťte bundle schema
příkaz a přesměrujte výstup do souboru JSON. Můžete například vygenerovat soubor s názvem bundle_config_schema.json
v aktuálním adresáři následujícím způsobem:
databricks bundle schema > bundle_config_schema.json
Ověření sady
Pokud chcete ověřit, jestli jsou konfigurační soubory sady syntakticky správné, spusťte bundle validate
příkaz z kořenového adresáře projektu sady, a to následujícím způsobem:
databricks bundle validate
Ve výchozím nastavení tento příkaz vrátí souhrn identity sady:
Name: MyBundle
Target: dev
Workspace:
Host: https://my-host.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/MyBundle/dev
Validation OK!
Poznámka:
Příkaz bundle validate
zobrazí upozornění, pokud jsou vlastnosti prostředku definovány v konfiguračních souborech sady, které nejsou nalezeny ve schématu odpovídajícího objektu.
Pokud chcete vypsat pouze souhrn identity a prostředků svazku, použijte souhrn svazku.
Synchronizace stromu sady s pracovním prostorem
bundle sync
Pomocí příkazu proveďte jednosměrnou synchronizaci změn souboru sady v rámci místního adresáře systému souborů do adresáře v rámci vzdáleného pracovního prostoru Azure Databricks.
Poznámka:
bundle sync
příkazy nemůžou synchronizovat změny souborů z adresáře ve vzdáleném pracovním prostoru Azure Databricks zpět do adresáře v místním systému souborů.
databricks bundle sync
příkazy fungují stejným způsobem jako databricks sync
příkazy a poskytují se pro zvýšení produktivity. Pro informace o použití příkazů viz skupina příkazů sync
.
Vygenerování konfiguračního souboru sady
Můžete použít příkaz bundle generate
k vygenerování konfigurace prostředků pro úlohu, kanál nebo řídicí panel, který už v pracovním prostoru Databricks existuje. Tento příkaz vygeneruje *.yml
soubor pro úlohu, kanál nebo řídicí panel ve resources
složce projektu sady a také stáhne všechny soubory, jako jsou poznámkové bloky, na které se odkazuje v konfiguraci.
Generování konfigurace úlohy nebo kanálu
Důležité
Tento bundle generate
příkaz je poskytován pro snadné automatické generování konfigurace prostředků. Pokud je však tato úloha nebo konfigurace kanálu zahrnuta do sady a nasazena, vytvoří nový prostředek a neaktualizuje existující prostředek, pokud bundle deployment bind
nebyl poprvé použit. Viz Propojení prostředků balíku.
Pokud chcete vygenerovat konfiguraci pro úlohu nebo kanál, spusťte bundle generate
příkaz následujícím způsobem:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Poznámka:
Tento příkaz v současné době podporuje jenom úlohy s úkoly poznámkového bloku.
Následující příkaz například vygeneruje nový hello_job.yml
soubor ve resources
složce projektu sady obsahující níže uvedený YAML a stáhne ho simple_notebook.py
src
do složky projektu.
databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
jobs:
6565621249:
name: Hello Job
format: MULTI_TASK
tasks:
- task_key: run_notebook
existing_cluster_id: 0704-xxxxxx-yyyyyyy
notebook_task:
notebook_path: ./src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Generování konfigurace řídicího panelu
Pokud chcete vygenerovat konfiguraci existujícího řídicího panelu v pracovním prostoru, spusťte bundle generate
příkaz určující ID nebo cestu pracovního prostoru pro řídicí panel:
databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]
Cestu k pracovnímu prostoru pro řídicí panel můžete zkopírovat z uživatelského rozhraní pracovního prostoru.
Například následující příkaz vygeneruje nový baby_gender_by_county.dashboard.yml
soubor ve resources
složce projektu sady obsahující níže uvedený YAML a stáhne baby_gender_by_county.lvdash.json
soubor do src
složky projektu.
databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
dashboards:
baby_gender_by_county:
display_name: 'Baby gender by county'
warehouse_id: aae11o8e6fe9zz79
file_path: ../src/baby_gender_by_county.lvdash.json
Tip
Pokud chcete po nasazení řídicího panelu aktualizovat .lvdash.json
soubor, použijte možnost --resource
při spuštění bundle generate dashboard
, abyste vygenerovali tento soubor pro existující prostředek řídicího panelu. Pokud chcete průběžně dotazovat a načítat aktualizace řídicího panelu, použijte možnosti --force
a --watch
.
Vytvoření vazby prostředků sady
Příkaz bundle deployment bind
umožňuje propojit úlohy a kanály definované sadami se stávajícími úlohami a kanály v pracovním prostoru Azure Databricks, takže budou spravovány ve formě sad prostředků Databricks. Pokud svážete prostředek, existující prostředky Azure Databricks v pracovním prostoru se po další bundle deploy
aktualizují na základě konfigurace definované v balíku, ke kterému jsou vázány.
Tip
Před spuštěním příkazu "bind" je vhodné potvrdit balíček v pracovním prostoru.
databricks bundle deployment bind [resource-key] [resource-id]
Následující příkaz například sváže prostředek hello_job
s jeho vzdáleným protějškem v pracovním prostoru. Příkaz vypíše rozdíl a umožňuje odepřít vazbu prostředků, ale pokud je potvrzeno, všechny aktualizace definice úlohy v balíčku se použijí na odpovídající vzdálenou úlohu při dalším nasazení balíčku.
databricks bundle deployment bind hello_job 6565621249
Použijte bundle deployment unbind
, chcete-li odebrat propojení mezi úlohou nebo pipelinou v sadě a jejím vzdáleným protějškem v pracovním prostoru.
databricks bundle deployment unbind [resource-key]
Výstup souhrnu sady
Příkaz bundle summary
vypíše souhrn identity a prostředků sady, včetně přímých odkazů na prostředky, abyste mohli snadno přejít k prostředku v pracovním prostoru Databricks.
databricks bundle summary
Následující příklad výstupu je souhrn sady s názvem my_pipeline_bundle
, která definuje úlohu a kanál:
Name: my_pipeline_bundle
Target: dev
Workspace:
Host: https://myworkspace.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
Jobs:
my_project_job:
Name: [dev someone] my_project_job
URL: https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
Pipelines:
my_project_pipeline:
Name: [dev someone] my_project_pipeline
URL: https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999
Tip
Můžete také použít bundle open
k navigaci na zdroj ve workspace Databricks. Viz Otevření prostředku balíku.
Nasaďte balík
Pokud chcete nasadit sadu do vzdáleného pracovního prostoru, spusťte bundle deploy
příkaz z kořenového adresáře projektu sady. Pokud nejsou zadány žádné možnosti příkazu, použije se výchozí cíl deklarovaný v konfiguračních souborech sady.
databricks bundle deploy
Pokud chcete sadu nasadit do konkrétního cíle, nastavte -t
možnost (nebo --target
) společně s názvem cíle deklarovaným v konfiguračních souborech sady. Například pro cíl deklarovaný s názvem dev
:
databricks bundle deploy -t dev
Sadu je možné nasadit do několika pracovních prostorů, jako je vývoj, příprava a produkční pracovní prostory. Vlastnost root_path
je v zásadě to, co určuje jedinečnou identitu balíku, s výchozí hodnotou ~/.bundle/${bundle.name}/${bundle.target}
. Ve výchozím nastavení se proto identita sady skládá z identity deployeru, názvu sady a cílového názvu sady. Pokud jsou stejné napříč různými sadami, nasazení těchto sad bude vzájemně kolidovat.
Nasazení sady navíc sleduje prostředky, které vytvoří v cílovém pracovním prostoru, podle jejich ID jako stavu, který je uložen v systému souborů pracovního prostoru. Názvy prostředků se nepoužívají ke korelaci mezi nasazením sady prostředků a instancí prostředků, takže:
- Pokud prostředek v konfiguraci sady neexistuje v cílovém pracovním prostoru, vytvoří se.
- Pokud prostředek v konfiguraci sady existuje v cílovém pracovním prostoru, aktualizuje se v pracovním prostoru.
- Pokud se prostředek odebere z konfigurace sady prostředků, odebere se z cílového pracovního prostoru, pokud byl dříve nasazený.
- Přidružení prostředku k sadě je možné zapomenout pouze v případě, že změníte název sady, cíl sady nebo pracovní prostor. Pomocí spuštění
bundle validate
můžete vytvořit souhrn obsahující tyto hodnoty.
Spuštění úlohy nebo pipeline
Ke spuštění konkrétní úlohy nebo kanálu použijte bundle run
příkaz. Musíte zadat klíč prostředku úlohy nebo kanálu deklarovaného v konfiguračních souborech sady. Ve výchozím nastavení se používá prostředí deklarované v konfiguračních souborech sady. Pokud chcete například spustit úlohu hello_job
ve výchozím prostředí, spusťte následující příkaz:
databricks bundle run hello_job
Spuštění úlohy s klíčem hello_job
v kontextu cíle deklarovaného názvem dev
:
databricks bundle run -t dev hello_job
Pokud chcete provést ověření pipeline, použijte možnost --validate-only
, jak ukazuje následující příklad:
databricks bundle run --validate-only my_pipeline
Pokud chcete předat parametry úlohy, použijte volbu --params
, za kterou následují dvojice klíč-hodnota oddělené čárkami, kde klíč je názvem parametru. Například následující příkaz nastaví parametr s názvem message
HelloWorld
pro úlohu hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Poznámka:
Parametry můžete předávat úkolům úlohy pomocí možností úloh, ale možnost --params
je doporučenou metodou pro předávání parametrů úlohy. K chybě dojde v případě, že jsou pro úlohu zadány parametry úlohy, které nemají definované parametry úlohy nebo pokud jsou pro úlohu s definovanými parametry úlohy zadány parametry úlohy.
Pokud chcete zrušit a restartovat existující spuštění úlohy nebo aktualizaci kanálu, použijte --restart
tuto možnost:
databricks bundle run --restart hello_job
Otevření prostředku sady prostředků
Pokud chcete přejít k prostředku sady v pracovním prostoru, spusťte bundle open
příkaz z kořenového adresáře projektu sady a zadejte prostředek, který se má otevřít. Pokud není zadaný klíč prostředku, tento příkaz vypíše seznam prostředků sady, ze kterých se má vybrat.
databricks bundle open [resource-key]
Následující příkaz například spustí prohlížeč a přejde na řídicí panel baby_gender_by_county v sadě v pracovním prostoru Databricks, který je pro tuto sadu nakonfigurovaný:
databricks bundle open baby_gender_by_county
Zničení sady
Varování
Zničení balíčku trvale odstraní v tomto balíčku dříve nasazené úlohy, potrubí a artefakty. Tuto akci nejde vrátit zpátky.
Pokud chcete odstranit úlohy, kanály a artefakty, které byly dříve nasazené, spusťte bundle destroy
příkaz. Následující příkaz odstraní všechny dříve nasazené úlohy, kanály a artefakty definované v konfiguračních souborech sady:
databricks bundle destroy
Poznámka:
Identita sady se skládá z názvu sady, cíle sady a pracovního prostoru. Pokud jste některou z těchto možností změnili a pokusíte se před nasazením zničit sadu, dojde k chybě.
Ve výchozím nastavení budete vyzváni k potvrzení trvalého odstranění dříve nasazených úloh, potrubí a artefaktů. Pokud chcete tyto výzvy přeskočit a provést automatické trvalé odstranění, přidejte --auto-approve
do bundle destroy
příkazu možnost.