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 verzi Public Preview.
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 bundle
příkazů 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 Delta Live Tables a stacky MLOps. Podívejte se, co jsou sady prostředků Databricks?
Příkazy spustíte bundle
tak, že je připojíte k databricks bundle
souboru . Pokud chcete zobrazit nápovědu bundle
k příkazu, spusťte databricks bundle -h
příkaz .
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ů Sady prostředků Databricks
- Vývoj úlohy v Azure Databricks pomocí sad prostředků Databricks
- Vývoj kanálů Delta Live Tables s využitím sad prostředků Databricks
- Sady prostředků Databricks pro zásobníky 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 vypíšete pouze souhrn identity a prostředků sady, použijte souhrn sady.
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 jako pohodlí produktivity. Informace o použití příkazů najdete v tématu Skupina příkazů synchronizace.
Vygenerování konfiguračního souboru sady
Pomocí příkazu můžete bundle generate
vygenerovat konfiguraci 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 k dispozici jako pohodlí pro 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 Vytvoření vazby prostředků sady prostředků.
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 soubor po nasazení řídicího panelu aktualizovat .lvdash.json
, použijte tuto --resource
možnost při spuštění bundle generate dashboard
a vygenerujte 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
možnosti.
Vytvoření vazby prostředků sady
Příkaz bundle deployment bind
umožňuje propojit sady definované úlohy a kanály s existujícími úlohami a kanály v pracovním prostoru Azure Databricks, aby se staly spravovanými sadami prostředků Databricks. Pokud svážete prostředek, existující prostředky Azure Databricks v pracovním prostoru se aktualizují na základě konfigurace definované v sadě, ke které je vázána po další bundle deploy
.
Tip
Před spuštěním vazby je vhodné potvrdit sadu 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 sadě se po nasazení sady použijí na odpovídající vzdálenou úlohu.
databricks bundle deployment bind hello_job 6565621249
Použijte bundle deployment unbind
, pokud chcete odebrat propojení mezi úlohou nebo kanálem v sadě a jeho 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 přechodu na prostředek v pracovním prostoru Databricks. Viz Otevření prostředku sady prostředků.
Nasazení sady
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 je v zásadě to, root_path
co určuje jedinečnou identitu sady, která je výchozí ~/.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 uloženého 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. Spuštěním výstupu můžete zobrazit
bundle validate
souhrn obsahující tyto hodnoty.
Spuštění úlohy nebo kanálu
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 spuštění ověření kanálu, použijte --validate-only
tuto možnost, jak je znázorněno v následujícím příkladu:
databricks bundle run --validate-only my_pipeline
Pokud chcete předat parametry úlohy, použijte --params
možnost následovanou dvojicemi klíč-hodnota oddělených čárkami, kde je klíč 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ředat úkolům úlohy pomocí možností úlohy, ale tato --params
možnost je doporučenou metodou 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
Upozorňující
Zničení sady trvale odstraní dříve nasazené úlohy, kanály a artefakty sady. 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í se zobrazí výzva k potvrzení trvalého odstranění dříve nasazených úloh, kanálů 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.