Megosztás a következőn keresztül:


bundle parancscsoport

Feljegyzés

Ezek az információk a Databricks CLI 0.205-ös és újabb verzióira vonatkoznak. A Databricks parancssori felülete nyilvános előzetes verzióban érhető el.

A Databricks CLI használatára a Databricks Licenc és a Databricks adatvédelmi nyilatkozata vonatkozik, beleértve a használati adatokra vonatkozó rendelkezéseket is.

A bundle Databricks parancssori felületén található parancscsoport lehetővé teszi az Azure Databricks-munkafolyamatok, például az Azure Databricks-feladatok, a Delta Live Tables-folyamatok és az MLOps Stacks programozott érvényesítését, üzembe helyezését és futtatását. Lásd: Mik azok a Databricks-eszközcsomagok?.

Parancsokat a parancsok hozzáfűzésével futtathat bundle databricks bundle. A parancs súgójának megjelenítéséhez futtassa a bundle parancsot databricks bundle -h.

Csomag létrehozása projektsablonból

Ha databricks-eszközcsomagot szeretne létrehozni a Python alapértelmezett Databricks-eszközcsomag-sablonjának használatával, futtassa a parancsot az bundle init alábbiak szerint, majd válaszoljon a képernyőn megjelenő kérdésekre:

databricks bundle init

Databricks-eszközcsomag egyéni Databricks-eszközcsomag-sablonnal való létrehozásához futtassa a bundle init következő parancsot:

databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"

Lásd még:

A csomagkonfigurációs séma megjelenítése

A Databricks Asset Bundle konfigurációs sémájának megjelenítéséhez futtassa a parancsot az bundle schema alábbiak szerint:

databricks bundle schema

A Databricks Asset Bundle konfigurációs sémájának JSON-fájlként való kimenetéhez futtassa a bundle schema parancsot, és irányítsa át a kimenetet egy JSON-fájlba. Létrehozhat például egy fájlt bundle_config_schema.json az aktuális könyvtárban az alábbiak szerint:

databricks bundle schema > bundle_config_schema.json

Csomag ellenőrzése

Annak ellenőrzéséhez, hogy a csomagkonfigurációs fájlok szintaktikailag helyesek-e, futtassa a bundle validate parancsot a csomagprojekt gyökérkönyvtárából az alábbiak szerint:

databricks bundle validate

Ez a parancs alapértelmezés szerint a csomag identitásának összegzését adja vissza:

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!

Feljegyzés

A bundle validate parancs figyelmeztetéseket ad ki, ha az erőforrás-tulajdonságok olyan csomagkonfigurációs fájlokban vannak definiálva, amelyek nem találhatók a megfelelő objektum sémájában.

Ha csak a csomag identitásának és erőforrásainak összegzését szeretné megjeleníteni, használja a csomag összegzését.

Csomag fájának szinkronizálása munkaterületre

bundle sync A paranccsal szinkronizálhatja egy csomag fájlmódosításait egy helyi fájlrendszerkönyvtárban, egy távoli Azure Databricks-munkaterületen lévő könyvtárba.

Feljegyzés

bundle sync a parancsok nem tudják szinkronizálni a fájlmódosításokat egy távoli Azure Databricks-munkaterület könyvtárából egy helyi fájlrendszer könyvtárába.

databricks bundle sync a parancsok ugyanúgy működnek, mint databricks sync a parancsok, és a hatékonyságnövelő kényelemként szolgálnak. A parancshasználattal kapcsolatos információkért tekintse meg a szinkronizálási parancscsoportot.

Csomagkonfigurációs fájl létrehozása

A bundle generate parancs használatával erőforrás-konfigurációt hozhat létre a Databricks-munkaterületen már létező feladatokhoz, folyamatokhoz vagy irányítópultokhoz. Ez a parancs létrehoz egy *.yml fájlt a feladathoz, folyamathoz vagy irányítópulthoz a resources kötegprojekt mappájában, és letölti a konfigurációban hivatkozott fájlokat, például jegyzetfüzeteket.

Feladat- vagy folyamatkonfiguráció létrehozása

Fontos

A bundle generate parancs az erőforrás-konfiguráció automatikus létrehozásához szolgál. Ha azonban ez a feladat vagy folyamatkonfiguráció szerepel a csomagban, és üzembe helyezve van, új erőforrást hoz létre, és csak akkor frissíti a meglévő erőforrást, ha bundle deployment bind először használták. Lásd: Kötegerőforrások kötése.

Feladat vagy folyamat konfigurációjának létrehozásához futtassa a bundle generate következő parancsot:

databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]

Feljegyzés

Ez a parancs jelenleg csak a jegyzetfüzet-feladatokkal rendelkező feladatokat támogatja.

A következő parancs például létrehoz egy új hello_job.yml fájlt a resources csomag projektmappájában, amely tartalmazza az alábbi YAML-et, és letölti a simple_notebook.py src projektmappába.

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

Irányítópult-konfiguráció létrehozása

A munkaterületen meglévő irányítópult konfigurációjának létrehozásához futtassa bundle generateaz irányítópult azonosítóját vagy munkaterületi elérési útját:

databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]

Az irányítópult munkaterületi elérési útját átmásolhatja a munkaterület felhasználói felületéről.

Az alábbi parancs például létrehoz egy új baby_gender_by_county.dashboard.yml fájlt a resources csomag projektmappájában, amely tartalmazza az alábbi YAML-et, és letölti a baby_gender_by_county.lvdash.json fájlt a src projektmappába.

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

Tipp.

Ha frissíteni szeretné a .lvdash.json fájlt, miután már üzembe helyezett egy irányítópultot, használja a --resource lehetőséget, amikor futtatja bundle generate dashboard a fájlt a meglévő irányítópult-erőforráshoz való létrehozásához. Az irányítópultok frissítéseinek folyamatos lekérdezéséhez és lekéréséhez használja a lehetőségeket és --watch a --force lehetőségeket.

Kötegerőforrások kötése

A bundle deployment bind parancs lehetővé teszi, hogy a csomagban meghatározott feladatokat és folyamatokat összekapcsolja az Azure Databricks-munkaterületen lévő meglévő feladatokkal és folyamatokkal, hogy a Databricks Eszközcsomagok felügyelni lehessen őket. Erőforrás kötése esetén a munkaterület meglévő Azure Databricks-erőforrásai a következő bundle deployután kötött csomagban meghatározott konfiguráció alapján frissülnek.

Tipp.

A kötés futtatása előtt célszerű megerősíteni a köteget a munkaterületen.

databricks bundle deployment bind [resource-key] [resource-id]

Az alábbi parancs például a munkaterület távoli megfelelőjéhez köti az erőforrást hello_job . A parancs egy diffet ad ki, és lehetővé teszi az erőforrás-kötés elutasítását, de ha megerősítést kap, a csomagban lévő feladatdefiníció frissítéseit a rendszer a csomag következő üzembe helyezésekor alkalmazza a megfelelő távoli feladatra.

databricks bundle deployment bind hello_job 6565621249

Akkor használja bundle deployment unbind , ha el szeretné távolítani a kapcsolatot a kötegben lévő feladat vagy folyamat és a munkaterület távoli megfelelője között.

databricks bundle deployment unbind [resource-key]

Csomagösszegzés kimenete

A bundle summary parancs egy csomag identitásának és erőforrásainak összegzését adja ki, beleértve az erőforrások mély hivatkozásait is, hogy könnyen navigáljon az erőforráshoz a Databricks-munkaterületen.

databricks bundle summary

A következő példakimenet egy feladatot és folyamatot meghatározó köteg my_pipeline_bundle összegzése:

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

Csomag üzembe helyezése

Ha egy csomagot a távoli munkaterületen szeretne üzembe helyezni, futtassa a bundle deploy parancsot a kötegprojekt gyökérkönyvtárából. Ha nincsenek megadva parancsbeállítások, a csomagkonfigurációs fájlokban deklarált alapértelmezett cél lesz használva.

databricks bundle deploy

Ha a csomagot egy adott célra szeretné telepíteni, állítsa be a -t (vagy --target) beállítást a cél nevével együtt a csomag konfigurációs fájljaiban deklarált módon. Például a következő névvel devdeklarált célhoz:

databricks bundle deploy -t dev

Egy csomag több munkaterületen is üzembe helyezhető, például fejlesztési, előkészítési és éles munkaterületeken. Alapvetően a root_path tulajdonság határozza meg a csomag egyedi identitását, amely alapértelmezés szerint a ~/.bundle/${bundle.name}/${bundle.target}. Ezért alapértelmezés szerint a csomag identitása a telepítő identitásából, a csomag nevéből és a csomag célnevéből áll. Ha ezek azonosak a különböző csomagokban, ezeknek a csomagoknak az üzembe helyezése zavarja egymást.

Emellett a csomagtelepítés nyomon követi a cél-munkaterületen létrehozott erőforrásokat azonosítóik által a munkaterület fájlrendszerében tárolt állapotként. Az erőforrásnevek nem használhatók a csomagtelepítés és az erőforráspéldány közötti korrelációhoz, így:

  • Ha a csomagkonfiguráció egyik erőforrása nem létezik a cél-munkaterületen, létrejön.
  • Ha a csomagkonfiguráció egyik erőforrása megtalálható a cél-munkaterületen, a rendszer frissíti a munkaterületen.
  • Ha egy erőforrást eltávolít a csomagkonfigurációból, a rendszer eltávolítja azt a cél-munkaterületről, ha korábban üzembe helyezték.
  • Egy erőforrás köteghez való társítása csak akkor felejthető el, ha módosítja a csomag nevét, a csomag célját vagy a munkaterületet. Az alábbi értékeket tartalmazó összegzés kimenete futtatható bundle validate .

Csomag futtatása

Egy adott feladat vagy folyamat futtatásához használja a bundle run parancsot. Meg kell adnia a csomagkonfigurációs fájlokban deklarált feladat vagy folyamat erőforráskulcsát. Alapértelmezés szerint a csomagkonfigurációs fájlokban deklarált környezet lesz használatban. Ha például egy feladatot hello_job az alapértelmezett környezetben szeretne futtatni, futtassa a következő parancsot:

databricks bundle run hello_job

Feladat futtatása kulccsal hello_job egy cél kontextusában a következő néven devdeklarált célhoz:

databricks bundle run -t dev hello_job

Ha folyamatérvényesítési futtatásra van szüksége, használja a --validate-only következő példában látható beállítást:

databricks bundle run --validate-only my_pipeline

Feladatparaméterek átadásához használja a --params lehetőséget, majd a vesszővel elválasztott kulcs-érték párokat, ahol a kulcs a paraméter neve. A következő parancs például beállítja a paramétert a feladat nevével message HelloWorld:hello_job

databricks bundle run --params message=HelloWorld hello_job

Feljegyzés

A feladattevékenység-beállítások használatával paramétereket adhat át a feladattevékenységeknek, de a --params feladatparaméterek átadásához ez a beállítás ajánlott módszer. Hiba akkor fordul elő, ha olyan feladathoz vannak megadva feladatparaméterek, amelyekhez nincs meghatározva feladatparaméter, vagy ha a feladatparaméterek definiálva vannak egy feladatparaméterrel rendelkező feladathoz.

Meglévő feladatfuttatás vagy folyamatfrissítés megszakításához és újraindításához használja a --restart következő lehetőséget:

databricks bundle run --restart hello_job

Csomag megsemmisítése

Figyelmeztetés

A csomagok megsemmisítése véglegesen törli a csomag korábban üzembe helyezett feladatait, folyamatait és összetevőit. Ez a művelet nem vonható vissza.

A korábban üzembe helyezett feladatok, folyamatok és összetevők törléséhez futtassa a bundle destroy parancsot. A következő parancs törli a csomagkonfigurációs fájlokban definiált összes korábban üzembe helyezett feladatot, folyamatot és összetevőt:

databricks bundle destroy

Feljegyzés

A csomag identitása a csomag nevéből, a csomag céljából és a munkaterületből áll. Ha ezek közül bármelyiket módosította, majd megpróbál megsemmisíteni egy csomagot az üzembe helyezés előtt, hiba történik.

Alapértelmezés szerint a rendszer kérni fogja a korábban üzembe helyezett feladatok, folyamatok és összetevők végleges törlésének megerősítését. Ha ki szeretné hagyni ezeket a kéréseket, és automatikus végleges törlést szeretne végrehajtani, adja hozzá a --auto-approve bundle destroy parancsot.