Stack CLI (örökölt)
Fontos
Ez a dokumentáció ki lett állítva, és lehet, hogy nem frissül.
Ezek az információk az örökölt Databricks CLI 0.18-s és újabb verzióira vonatkoznak. A Databricks azt javasolja, hogy helyette a Databricks CLI 0.205-ös vagy újabb verzióját használja. Lásd: Mi a Databricks parancssori felület? A Databricks parancssori felület verziójának megkereséséhez futtassa a következőt databricks -v
: .
Ha a Databricks CLI 0.18-os vagy újabb verziójáról a Databricks CLI 0.205-ös vagy újabb verziójára szeretne migrálni, tekintse meg a Databricks parancssori felület migrálását.
A Databricks CLI 0.205-ös és újabb verziói nem támogatják a stack parancssori felületet. A Databricks azt javasolja, hogy inkább a Databricks Terraform-szolgáltatót használja.
Feljegyzés
A Stack CLI használatához a Databricks CLI 0.8.3 vagy annál újabb verziója szükséges.
A verem cli-vel kezelheti az Azure Databricks-erőforrásokat, például a feladatokat, a jegyzetfüzeteket és a DBFS-fájlokat. A jegyzetfüzeteket és DBFS-fájlokat helyileg tárolhatja, és létrehozhat egy kötegkonfigurációs JSON-sablont, amely meghatározza a helyi fájlok leképezéseit az Azure Databricks-munkaterület útvonalaihoz, valamint a jegyzetfüzeteket futtató feladatok konfigurációit.
A stack parancssori felület és a stack konfigurációs JSON sablon használatával telepítheti és kezelheti a stackjét.
A Databricks stack CLI alparancsokat a databricks stack
hozzáfűzésével futtathatja.
databricks stack --help
Usage: databricks stack [OPTIONS] COMMAND [ARGS]...
[Beta] Utility to deploy and download Databricks resource stacks.
Options:
-v, --version [VERSION]
--debug Debug Mode. Shows full stack trace on error.
--profile TEXT CLI connection profile to use. The default profile is
"DEFAULT".
-h, --help Show this message and exit.
Commands:
deploy Deploy a stack of resources given a JSON configuration of the stack
Usage: databricks stack deploy [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks and DBFS
files [default: False]
download Download workspace notebooks of a stack to the local filesystem
given a JSON stack configuration template.
Usage: databricks stack download [OPTIONS] CONFIG_PATH
Options:
-o, --overwrite Include to overwrite existing workspace notebooks in the
local filesystem [default: False]
Készlet üzembe helyezése munkaterületre
Ez az alparancs üzembe helyez egy stacket. A verem beállításáról a Verem beállítása című szakaszban tájékozódhat.
databricks stack deploy ./config.json
A stackkonfigurációs JSON-sablon egy példát mutat be.config.json
Stack jegyzetfüzet módosításainak letöltése
Ez az alparancs letölti egy stack jegyzetfüzeteit.
databricks stack download ./config.json
Példák
Verem beállítása
Példastack fájlstruktúrája
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Ez a példaverem egy fő jegyzetfüzetet tartalmaz a mappában notebooks/common/notebook.scala
lévő notebooks/config
konfigurációs jegyzetfüzetekkel együtt. A lib/library.jar
veremnek van egy JAR-kódtár-függősége.
config.json
A verem veremkonfigurációs JSON-sablonja. Ez az, amit a verem parancssori felülete továbbít a verem üzembe helyezéséhez.
Stack configuration JSON-sablon
A veremkonfigurációs sablon a veremkonfigurációt ismerteti.
cat config.json
{
"name": "example-stack",
"resources": [
{
"id": "example-workspace-notebook",
"service": "workspace",
"properties": {
"source_path": "notebooks/common/notebook.scala",
"path": "/Users/example@example.com/dev/notebook",
"object_type": "NOTEBOOK"
}
},
{
"id": "example-workspace-config-dir",
"service": "workspace",
"properties": {
"source_path": "notebooks/config",
"path": "/Users/example@example.com/dev/config",
"object_type": "DIRECTORY"
}
},
{
"id": "example-dbfs-library",
"service": "dbfs",
"properties": {
"source_path": "lib/library.jar",
"path": "dbfs:/tmp/lib/library.jar",
"is_dir": false
}
},
{
"id": "example-job",
"service": "jobs",
"properties": {
"name": "Example Stack CLI Job",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_DS3_v2",
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
},
"libraries": [
{
"jar": "dbfs:/tmp/lib/library.jar"
}
]
}
}
]
}
Minden feladat, munkaterület-jegyzetfüzet, munkaterületi könyvtár, DBFS-fájl vagy DBFS-könyvtár ResourceConfigként van definiálva. Minden ResourceConfig
, amely egy munkaterületet vagy DBFS-eszközt képvisel, tartalmaz egy leképezést abból a fájlból vagy könyvtárból, ahol helyileg található (source_path
), arra a helyre, ahol a munkaterületen vagy a DBFS-ben található (path
).
Veremkonfigurációs sablon sémája a veremkonfigurációs sablon sémáját vázolja fel.
Verem üzembe helyezése
A databricks stack deploy <configuration-file>
parancs használatával üzembe helyezhet egy köteget.
databricks stack deploy ./config.json
A verem üzembe helyezése során a DBFS-t és a munkaterület-objektumokat feltöltjük az Azure Databricks-munkaterületre, és létrehozzuk a feladatokat.
A stack üzembe helyezésekor a StackStatus JSON-fájl az üzembe helyezéshez ugyanabban a könyvtárban lesz elmentve, mint a veremkonfigurációs sablon. A név kiterjesztése elé kell hozzáadni a deployed
elemet, például így: ./config.deployed.json
. Ezt a fájlt a Stack CLI használja a munkaterületen korábban üzembe helyezett erőforrások nyomon követésére.
A stack állapot sémája egy veremkonfiguráció sémáját ismerteti.
Fontos
Ne próbálja meg szerkeszteni vagy áthelyezni a verem állapotfájlt. Ha hibaüzenetet kap a veremállapot-fájl miatt, törölje a fájlt, és próbálja meg újra a telepítést.
./config.deployed.json
{
"cli_version": "0.8.3",
"deployed_output": [
{
"id": "example-workspace-notebook",
"databricks_id": {
"path": "/Users/example@example.com/dev/notebook"
},
"service": "workspace"
},
{
"id": "example-workspace-config-dir",
"databricks_id": {
"path": "/Users/example@example.com/dev/config"
},
"service": "workspace"
},
{
"id": "example-dbfs-library",
"databricks_id": {
"path": "dbfs:/tmp/lib/library.jar"
},
"service": "dbfs"
},
{
"id": "example-job",
"databricks_id": {
"job_id": 123456
},
"service": "jobs"
}
],
"name": "example-stack"
}
Adatstruktúrák
Ebben a szakaszban:
Stack konfigurációs sablonséma
StackConfig
Ezek egy veremkonfigurációs sablon külső mezői. Minden mezőt ki kell tölteni.
Mező neve | Típus | Leírás |
---|---|---|
név | STRING |
A verem neve. |
erőforrások | A ResourceConfig listája | Egy objektum az Azure Databricksben. Az erőforrások három szolgáltatáshoz (REST API-névterekhez) kapcsolódnak: munkaterülethez, feladatokhoz és dbf-ekhez. |
ResourceConfig
Az egyes ResourceConfig
esetén a mezők. Minden mezőt ki kell tölteni.
Mező neve | Típus | Leírás |
---|---|---|
azonosító | STRING |
Az erőforrás egyedi azonosítója. A ResourceConfig egyedisége kényszerítve van. |
szolgáltatás | ResourceService | Az erőforrás által üzemeltetett REST API-szolgáltatás. Az alábbiak egyike: jobs ,workspace , vagy dbfs . |
tulajdonságok | ResourceProperties | A mezők a szolgáltatástól függően ResourceConfig eltérőek. |
ErőforrásTulajdonságok
Egy erőforrás tulajdonságai a ResourceService szerint. A mezők az Azure Databricks REST API-ban használt vagy nem használt mezőkként vannak besorolva. A felsorolt mezők mindegyikére szükség van.
szolgáltatás | A Stack CLI-ben használt REST API mezői | Csak a Stack parancssori felületén használt mezők |
---|---|---|
munkaterület | elérési út: STRING - Jegyzetfüzetek vagy könyvtárak távoli munkaterületi elérési útjai. (Pl. /Users/example@example.com/notebook )object_type: Workspace API– Notebook objektumtípus. Csak lehet NOTEBOOK vagy DIRECTORY . |
source_path: STRING – Munkaterület-jegyzetfüzetek vagy könyvtárak helyi forrásútvonala. A veremkonfigurációs sablonfájl relatív elérési útja vagy egy abszolút elérési út a fájlrendszerben. |
Munkahelyek | A beállítások vagy new_settings struktúrában bármely mező. A beállításokban vagy new_settings struktúrában nem kötelező, de a verem parancssori felületéhez szükséges egyetlen mező a következő: név: STRING – Az üzembe helyezendő feladat neve. Annak érdekében, hogy ne hozzon létre túl sok duplikált feladatot, a Stack CLI egyedi neveket kényszerít ki a stackben üzembe helyezett feladatokban. |
Nincs. |
dbfs | elérési út: STRING – Megfelelő távoli DBFS-elérési út. Ezzel kell kezdődnie: dbfs:/ . (pl. dbfs:/this/is/a/sample/path )is_dir: BOOL - Hogy a DBFS-elérési út egy könyvtár vagy fájl-e. |
source_path: STRING – DBFS-fájlok vagy könyvtárak helyi forrásútvonala. A veremkonfigurációs sablonfájl relatív elérési útja vagy a fájlrendszer abszolút elérési útja. |
ResourceService
Minden erőforrás egy adott szolgáltatáshoz tartozik, amely a Databricks REST API-hoz igazodik. Ezek azok a szolgáltatások, amelyeket a Stack CLI támogat.
Szolgáltatás | Leírás |
---|---|
munkaterület | Munkaterülettel kapcsolatos jegyzetfüzet vagy mappa. |
Munkahelyek | Egy Azure Databricks-feladat. |
dbfs | DBFS-fájl vagy könyvtár. |
Stack állapotséma
StackStatus
A verem állapotfájlja a parancssori felület használatával történő üzembe helyezés után jön létre. A legfelső szintű mezők a következők:
Mező neve | Típus | Leírás |
---|---|---|
név | STRING |
A verem neve. Ez a mező ugyanaz, mint a StackConfigban. |
cli_version | STRING |
A Databricks parancssori felület azon verziója, amelyet a stack üzembe helyezéséhez használnak. |
bevetett_erőforrások | ResourceStatus listája | Az egyes üzembe helyezett erőforrások állapota. A StackConfigban definiált összes erőforráshoz létrejön egy megfelelő ResourceStatus. |
ResourceStatus
Mező neve | Típus | Leírás |
---|---|---|
azonosító | STRING |
Az erőforrás egyedi verem azonosítója. |
szolgáltatás | ResourceService | Az erőforrás által üzemeltetett REST API-szolgáltatás. Az alábbiak egyike: jobs ,workspace , vagy dbfs . |
databricks_id | DatabricksId | Az üzembe helyezett erőforrás fizikai azonosítója. A tényleges séma az erőforrás típusától (szolgáltatásától) függ. |
Databricks azonosító
Egy JSON-objektum, amelynek mezője a szolgáltatástól függ.
Szolgáltatás | Mező a JSON-ban | Típus | Leírás |
---|---|---|---|
munkaterület | útvonal | HÚR | A jegyzetfüzet vagy könyvtár abszolút elérési útja egy Azure Databricks-munkaterületen. Az elnevezés összhangban van a Workspace API-val. |
Munkahelyek | job_id | HÚR | A munkaazonosító az Azure Databricks-munkaterületen látható. Ez a már üzembe helyezett feladatok frissítésére használható. |
dbfs | ösvény | HÚR | A jegyzetfüzet vagy könyvtár abszolút elérési útja egy Azure Databricks-munkaterületen. Az elnevezés összhangban van a DBFS API-val. |