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:
- Databricks Asset Bundle projektsablonok
- Feladat fejlesztése az Azure Databricksben a Databricks Asset Bundles használatával
- Delta Live Tables-folyamatok fejlesztése Databricks-eszközcsomagokkal
- Databricks Asset Bundles for MLOps Stacks
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 generate
az 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 deploy
utá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 dev
deklará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 dev
deklará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.