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


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.