Sdílet prostřednictvím


Stack CLI (starší verze)

Důležité

Tato dokumentace byla vyřazena a nemusí být aktualizována.

Tyto informace platí pro starší verze Databricks CLI verze 0.18 a starší. Databricks doporučuje místo toho použít novější rozhraní příkazového řádku Databricks verze 0.205 nebo vyšší. Podívejte se na co je rozhraní příkazového řádku Databricks? Pokud chcete zjistit svou verzi rozhraní příkazového řádku Databricks, spusťte databricks -vpříkaz .

Pokud chcete migrovat z Rozhraní příkazového řádku Databricks verze 0.18 nebo novější na Databricks CLI verze 0.205 nebo novější, přečtěte si téma Migrace rozhraní příkazového řádku Databricks.

Rozhraní příkazového řádku Databricks ve verzích 0.205 a vyšších nepodporují stack CLI. Databricks doporučuje místo toho použít zprostředkovatele Databricks Terraform.

Poznámka:

Rozhraní příkazového řádku stacku vyžaduje Databricks CLI ve verzi 0.8.3 nebo vyšší.

Rozhraní příkazového řádku zásobníku Azure Databricks poskytuje způsob, jak spravovat zásobník zdrojů, jako jsou úlohy, poznámkové bloky a soubory DBFS. Poznámkové bloky a soubory DBFS můžete ukládat lokálně a vytvořit JSON šablonu pro konfiguraci, která definuje mapování z vašich místních souborů na cesty v pracovním prostoru Azure Databricks, a také konfigurace úloh, které zpracovávají tyto poznámkové bloky.

Použijte příkazový řádek stacku se šablonou konfigurace JSON stacku k nasazení a správě stacku.

Podpříkazy rozhraní příkazového řádku služby Databricks spustíte tak, že je připojíte k databricks stack.

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]

Nasadit zásobník do pracovního prostoru

Tento podpříkaz nasadí zásobník. Informace o nastavení zásobníku najdete v tématu nastavení zásobníku.

databricks stack deploy ./config.json

Šablona JSON konfigurace zásobníku dává příklad config.json.

Stažení aktualizací ze stacku poznámkového bloku

Tento podpříkaz stáhne poznámkové bloky zásobníku.

databricks stack download ./config.json

Příklady

Nastavení zásobníku

Struktura souborů ukázkového zásobníku

tree
.
├── notebooks
|   ├── common
|   |   └── notebook.scala
|   └── config
|       ├── environment.scala
|       └── setup.sql
├── lib
|   └── library.jar
└── config.json

Tento ukázkový zásobník obsahuje hlavní poznámkový blok notebooks/common/notebook.scala společně s konfiguračními poznámkovými bloky ve notebooks/config složce. Existuje závislost knihovny JAR zásobníku v lib/library.jar. config.json je šablona JSON konfigurace zásobníku. To je to, co se předává do příkazového rozhraní pro zásobník pro nasazení tohoto zásobníku.

Šablona JSON konfigurace zásobníku

Šablona konfigurace zásobníku popisuje nastavení zásobníku.

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"
          }
        ]
      }
    }
  ]
}

Každá úloha, poznámkový blok pracovního prostoru, adresář pracovního prostoru, soubor DBFS nebo adresář DBFS je definována jako ResourceConfig. Každý ResourceConfig, který představuje pracovní prostor nebo prostředek DBFS, obsahuje mapování ze souboru nebo adresáře, kde existuje místně (source_path) na místo, kde existuje v pracovním prostoru nebo DBFS (path).

Schéma šablony konfigurace zásobníku popisuje schéma šablony konfigurace zásobníku.

Nasazení stacku

Pomocí databricks stack deploy <configuration-file> příkazu nasadíte zásobník.

databricks stack deploy ./config.json

Během nasazování zásobníku se prvky úložiště DBFS a pracovního prostoru nahrají do pracovního prostoru Azure Databricks a vytvoří se úlohy.

V době nasazení zásobníku je soubor JSON s názvem StackStatus pro nasazení uložen do stejného adresáře jako šablona konfigurace zásobníku. Název je upraven přidáním deployed bezprostředně před příponou .json: (například ./config.deployed.json). Tento soubor používá rozhraní příkazového řádku Stack ke sledování minulých nasazených prostředků ve vašem pracovním prostoru.

Schéma stavu zásobníku popisuje konfiguraci zásobníku.

Důležité

Nepokoušejte se stavový soubor zásobníku upravovat ani přesunovat. Pokud se zobrazí nějaké chyby týkající se stavového souboru zásobníku, smažte jej a zkuste nasazení znovu.

./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"
}

Datové struktury

V této části:

schéma šablony konfigurace stacku

StackConfig

Toto jsou vnější pole šablony konfigurace zásobníku. Všechna pole jsou povinná.

Název pole Typ Popis
jméno STRING Název zásobníku.
prostředky Seznam ResourceConfig Prostředek v Azure Databricks. Prostředky souvisejí se třemi službami (obory názvů REST API): pracovní prostor, úlohy a DBFS.

Konfigurace zdrojů

Pole pro každou ResourceConfig. Všechna pole jsou povinná.

Název pole Typ Popis
ID STRING Jedinečný identifikátor prostředku. Vynucuje se jedinečnost resourceConfig.
služba ResourceService Služba REST API, na které prostředek pracuje. Jedna z těchto možností: jobs,
workspacenebo dbfs.
vlastnosti ResourceProperties Pole v této oblasti se liší v závislosti na službě ResourceConfig .

ResourceProperties

Vlastnosti prostředku podle ResourceService. Pole se klasifikují jako použitá nebo se nepoužívají v rozhraní AZURE Databricks REST API. Všechna uvedená pole jsou povinná.

služba Pole z rozhraní REST API použitého ve Stack CLI Polí použitá pouze v rozhraní příkazového řádku Stack CLI
pracovní prostor path: STRING– Cesty ke vzdálenému pracovnímu prostoru pro poznámkové bloky nebo adresáře. (Např. /Users/example@example.com/notebook)
object_type: Workspace API - typ objektu Notebook. Může být pouze NOTEBOOK nebo DIRECTORY.
source_path: STRING– cesta k místnímu zdroji poznámkových bloků nebo adresářů pracovního prostoru. Relativní cesta k souboru šablony konfigurace zásobníku nebo absolutní cesta ve vašem systému souborů.
pracovní místa Jakékoli pole v nastavení nebo struktuře new_settings. Jediné pole, které není povinné ve struktuře nastavení nebo new_settings, ale je požadováno pro rozhraní příkazového řádku zásobníku, je:
name: STRING– název úlohy, kterou chcete nasadit. Aby se předešlo vytváření nadměrného počtu duplicitních úloh, Stack CLI vynucuje unikátní názvy pro úlohy nasazené v zásobníku.
Žádné.
dbfs path: STRING– Porovnávání vzdálené cesty DBFS. Musí začínat na dbfs:/. (např. dbfs:/this/is/a/sample/path)
is_dir: BOOL– určuje, jestli je cesta DBFS adresář nebo soubor.
source_path: STRING– Cesta k místnímu zdroji souborů nebo adresářů DBFS. Relativní cesta k souboru šablony konfigurace zásobníku nebo absolutní cesta v systému souborů.

ResourceService

Každý prostředek patří do konkrétní služby, která je v souladu s rozhraním Databricks REST API. Jedná se o služby podporované rozhraním příkazového řádku Stack CLI.

Služba Popis
pracovní prostor Poznámkový blok nebo adresář pracovního prostoru.
pracovní místa Úloha Azure Databricks
dbfs Soubor nebo adresář DBFS.

schéma stavu zásobníku

StackStatus

Po nasazení zásobníku pomocí rozhraní příkazového řádku se vytvoří soubor stavu zásobníku. Pole nejvyšší úrovně jsou:

Název pole Typ Popis
jméno STRING Název zásobníku. Toto pole je stejné jako v StackConfigu.
cli_version STRING Verze rozhraní příkazového řádku Databricks použitá k nasazení technologického balíčku.
nasazené zdroje Seznam „ResourceStatus“ Stav každého nasazeného prostředku Pro každý prostředek definovaný v StackConfig se tady vygeneruje odpovídající ResourceStatus .

ResourceStatus

Název pole Typ Popis
ID STRING Unikátní ID ve zásobníku pro prostředek.
služba ResourceService Služba REST API, na které prostředek pracuje. Jedna z těchto možností: jobs,
workspacenebo dbfs.
databricks_id DatabricksId Fyzické ID nasazeného prostředku. Skutečné schéma závisí na typu (službě) prostředku.

DatabricksId

Objekt JSON, jehož pole závisí na službě.

Služba Pole ve formátu JSON Typ Popis
pracovní prostor cesta STRING Absolutní cesta poznámkového bloku nebo adresáře v pracovním prostoru Azure Databricks. Pojmenování je konzistentní s rozhraním API pracovního prostoru.
pracovní místa ID úkolu STRING ID úlohy, jak je znázorněno v pracovním prostoru Azure Databricks. Dá se použít k aktualizaci již nasazených úloh.
dbfs cesta STRING Absolutní cesta poznámkového bloku nebo adresáře v pracovním prostoru Azure Databricks. Pojmenování je konzistentní s rozhraním DBFS API.