Sdílet prostřednictvím


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 bundlesouboru . Pokud chcete zobrazit nápovědu bundle k příkazu, spusťte databricks bundle -hpří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é:

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.pysrc 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 generatepří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 messageHelloWorld 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.