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 -v
pří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
).
Šablona konfigurace zásobníku schéma popisuje š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ématu 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 stacku
StackConfig
Toto jsou vnější pole šablony konfigurace zásobníku. Všechna pole jsou povinná.
Název pole | Typ | Popis |
---|---|---|
name | 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. |
ResourceConfig
Pole pro každou ResourceConfig
z nich . Všechna pole jsou povinná.
Název pole | Typ | Popis |
---|---|---|
ID | STRING |
Jedinečné ID prostředku. Vynucuje se jedinečnost resourceConfig. |
service | ResourceService | Služba REST API, na které prostředek pracuje. Jedna z těchto možností: jobs ,workspace nebo 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á.
service | 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ů. |
pracovní místa | 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. |
Nezaokrouhlovat. |
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. |
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 |
---|---|---|
name | 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. |
service | ResourceService | Služba REST API, na které prostředek pracuje. Jedna z těchto možností: jobs ,workspace nebo 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 | path | 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 | job_id | 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 | path | 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. |