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ší verzi Rozhraní příkazového řádku Databricks verze 0.18 a novější. Databricks doporučuje místo toho použít novější rozhraní příkazového řádku Databricks verze 0.205 nebo vyšší. Podívejte se, 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 verze 0.205 a vyšší nepodporují rozhraní příkazového řádku zásobníku. Databricks doporučuje místo toho použít zprostředkovatele Databricks Terraform.

Poznámka

Rozhraní příkazového řádku zásobníku vyžaduje Rozhraní příkazového řádku Databricks CLI 0.8.3 nebo vyšší.

Rozhraní příkazového řádku zásobníku poskytuje způsob, jak spravovat sadu prostředků Azure Databricks, jako jsou úlohy, poznámkové bloky a soubory DBFS. Poznámkové bloky a soubory DBFS můžete ukládat místně a vytvořit šablonu JSON konfigurace zásobníku, která definuje mapování z místních souborů na cesty v pracovním prostoru Azure Databricks spolu s konfigurací úloh, které spouštějí poznámkové bloky.

Použijte rozhraní příkazového řádku zásobníku se šablonou JSON konfigurace zásobníku k nasazení a správě zásobníku.

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]

Nasazení zásobníku 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

Příklad šablony JSON konfigurace zásobníku config.json

Stažení změn poznámkového bloku zásobníku

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 rozhraní příkazového řádku zásobníku pro nasazení zásobníku.

Šablona JSON konfigurace zásobníku

Šablona konfigurace zásobníku popisuje konfiguraci 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 pro šablonu konfigurace zásobníku.

Nasazení zásobníku

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

databricks stack deploy ./config.json

Během nasazování zásobníku se prostředky DBFS a pracovních prostorů nahrají do pracovního prostoru Azure Databricks a vytvoří se úlohy.

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

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

Důležité

Nepokoušejte se upravit ani přesunout stavový soubor zásobníku. Pokud se zobrazí nějaké chyby týkající se stavového souboru zásobníku, odstraňte ho a zkuste nasazení zopakovat.

./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 zásobníku

StackConfig

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

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

ResourceConfig

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

Název pole Typ Popis
ID STRING Jedinečné ID 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 v rozhraní příkazového řádku stacku Pole použitá pouze v rozhraní příkazového řádku stacku
pracovní prostor path: STRING– Cesty ke vzdálenému pracovnímu prostoru poznámkových bloků nebo adresářů. (Např. /Users/example@example.com/notebook)

object_type: Rozhraní API pracovního prostoru – typ objektu poznámkového bloku. Může být NOTEBOOK pouze 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í cestě v systému souborů.
Úlohy Jakékoli pole v nastavení nebo new_settings struktuře. Jediné pole, které není povinné v nastavení nebo new_settings struktuře , ale vyžaduje se pro rozhraní příkazového řádku zásobníku, je:

name: STRING– název úlohy, kterou chcete nasadit. Pro účely vytváření příliš velkého počtu duplicitních úloh vynucuje rozhraní příkazového řádku stacku jedinečné názvy v úlohách nasazených 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í cestu 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 stacku.

Služba Popis
pracovní prostor Poznámkový blok nebo adresář pracovního prostoru.
Úlohy Ú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
Název 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í zásobníku.
deployed_resources 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 Jedinečné ID 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ě.

Service Pole ve formátu JSON Typ Popis
pracovní prostor path ŘETĚZEC 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.
Úlohy Job_id ŘETĚZEC ID úlohy, jak je znázorněno v pracovním prostoru Azure Databricks. Dá se použít k aktualizaci již nasazených úloh.
dbfs path ŘETĚZEC Absolutní cesta poznámkového bloku nebo adresáře v pracovním prostoru Azure Databricks. Pojmenování je konzistentní s rozhraním DBFS API.