CLI de pilha (legado)
Importante
Esta documentação foi desativada e pode não ser atualizada.
Essas informações se aplicam às versões herdadas da CLI do Databricks 0.18 e inferiores. O Databricks recomenda que você use a CLI mais recente do Databricks versão 0.205 ou superior. Consulte O que é a CLI do Databricks?. Para encontrar sua versão da CLI do Databricks, execute databricks -v
.
Para migrar da CLI do Databricks versão 0.18 ou inferior para a CLI do Databricks versão 0.205 ou superior, consulte Migração da CLI do Databricks.
As versões 0.205 e superiores da CLI do Databricks não suportam a CLI da pilha. O Databricks recomenda que você use o provedor Databricks Terraform.
Nota
A CLI de pilha requer a CLI do Databricks 0.8.3 ou superior.
A CLI de pilha fornece uma maneira de gerenciar uma pilha de recursos do Azure Databricks, como trabalhos, blocos de anotações e arquivos DBFS. Você pode armazenar blocos de anotações e arquivos DBFS localmente e criar um modelo JSON de configuração de pilha que define mapeamentos de seus arquivos locais para caminhos em seu espaço de trabalho do Azure Databricks, juntamente com configurações de trabalhos que executam os blocos de anotações.
Use a CLI de pilha com o modelo JSON de configuração de pilha para implantar e gerenciar sua pilha.
Execute os subcomandos da CLI da pilha do Databricks anexando-os ao 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]
Implantar uma pilha em um espaço de trabalho
Este subcomando implanta uma pilha. Consulte Configuração de pilha para saber como configurar uma pilha.
databricks stack deploy ./config.json
O modelo JSON de configuração de pilha fornece um exemplo de config.json
.
Baixar alterações de bloco de anotações de pilha
Este subcomando baixa os blocos de anotações de uma pilha.
databricks stack download ./config.json
Exemplos
Configuração da pilha
Estrutura de arquivo de uma pilha de exemplo
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Esta pilha de exemplo contém um bloco de anotações principal junto notebooks/common/notebook.scala
com blocos de anotações de configuração na notebooks/config
pasta. Há uma dependência da biblioteca JAR da pilha no lib/library.jar
. config.json
é o modelo JSON de configuração de pilha da pilha. Isso é o que é passado para a CLI da pilha para a implantação da pilha.
Modelo JSON de configuração de pilha
O modelo de configuração de pilha descreve a configuração de pilha.
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"
}
]
}
}
]
}
Cada trabalho, bloco de anotações de espaço de trabalho, diretório de espaço de trabalho, arquivo DBFS ou diretório DBFS é definido como um ResourceConfig. Cada ResourceConfig
um que representa um espaço de trabalho ou ativo DBFS contém um mapeamento do arquivo ou diretório onde ele existe localmente (source_path
) para onde ele existiria no espaço de trabalho ou DBFS (path
).
O esquema do modelo de configuração de pilha descreve o esquema para o modelo de configuração de pilha.
Implantar uma pilha
Você implanta uma pilha usando o databricks stack deploy <configuration-file>
comando.
databricks stack deploy ./config.json
Durante a implantação da pilha, o DBFS e os ativos do espaço de trabalho são carregados no seu espaço de trabalho do Azure Databricks e os trabalhos são criados.
No momento da implantação da pilha, um arquivo JSON StackStatus para a implantação é salvo no mesmo diretório que o modelo de configuração da pilha com o nome, adicionando deployed
imediatamente antes da .json
extensão: (por exemplo, ./config.deployed.json
). Esse arquivo é usado pela CLI de pilha para controlar recursos implantados anteriormente em seu espaço de trabalho.
O esquema de status da pilha descreve o esquema de uma configuração de pilha.
Importante
Não tente editar ou mover o arquivo de status da pilha. Se você receber algum erro em relação ao arquivo de status da pilha, exclua o arquivo e tente a implantação novamente.
./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"
}
Estruturas de dados
Nesta secção:
Esquema de modelo de configuração de pilha
StackConfig
Estes são os campos externos de um modelo de configuração de pilha. Todos os campos são obrigatórios.
Nome do Campo | Tipo | Description |
---|---|---|
nome | STRING |
O nome da pilha. |
recursos | Lista de ResourceConfig | Um ativo no Azure Databricks. Os recursos estão relacionados a três serviços (namespaces da API REST): espaço de trabalho, trabalhos e dbfs. |
ResourceConfig
Os campos para cada ResourceConfig
. Todos os campos são obrigatórios.
Nome do Campo | Tipo | Descrição |
---|---|---|
id | STRING |
Um ID exclusivo para o recurso. A exclusividade de ResourceConfig é imposta. |
service | ResourceService | O serviço de API REST no qual o recurso opera. Um dos seguintes: jobs ,workspace , ou dbfs . |
propriedades | ResourceProperties | Os campos são diferentes dependendo do ResourceConfig serviço. |
ResourceProperties
As propriedades de um recurso por ResourceService. Os campos são classificados como aqueles usados ou não usados em uma API REST do Azure Databricks. Todos os campos listados são obrigatórios.
service | Campos da API REST usados na CLI de pilha | Campos usados somente na CLI de pilha |
---|---|---|
área de trabalho | path: STRING - Caminhos de espaço de trabalho remoto de blocos de anotações ou diretórios. (Ex. /Users/example@example.com/notebook )object_type: Tipo de objeto Workspace API- Notebook. Só pode ser NOTEBOOK ou DIRECTORY . |
source_path: STRING - Caminho de origem local de blocos de anotações ou diretórios de espaço de trabalho. Um caminho relativo para o arquivo de modelo de configuração de pilha ou um caminho absoluto em seu sistema de arquivos. |
empregos | Qualquer campo nas configurações ou new_settings estrutura. O único campo não obrigatório nas configurações ou na estrutura new_settings, mas necessário para a CLI da pilha é: name: STRING - Nome do trabalho a ser implantado. Para não criar muitos trabalhos duplicados, a CLI de pilha impõe nomes exclusivos em trabalhos implantados em pilha. |
Nenhum. |
DBFS | caminho: STRING - Caminho DBFS remoto correspondente. Deve começar com dbfs:/ . (ex. dbfs:/this/is/a/sample/path )is_dir: BOOL - Se um caminho DBFS é um diretório ou um arquivo. |
source_path: STRING - Caminho de origem local de arquivos ou diretórios DBFS. Um caminho relativo para o arquivo de modelo de configuração de pilha ou um caminho absoluto em seu sistema de arquivos. |
ResourceService
Cada recurso pertence a um serviço específico que se alinha com a API REST do Databricks. Estes são os serviços que são suportados pela CLI de pilha.
Serviço | Description |
---|---|
área de trabalho | Um bloco de anotações ou diretório de espaço de trabalho. |
empregos | Um trabalho do Azure Databricks. |
DBFS | Um arquivo ou diretório DBFS. |
Esquema de status da pilha
Status da pilha
Um arquivo de status de pilha é criado depois que uma pilha é implantada usando a CLI. Os campos de nível superior são:
Nome do Campo | Tipo | Description |
---|---|---|
nome | STRING |
O nome da pilha. Este campo é o mesmo campo que em StackConfig. |
cli_version | STRING |
A versão da CLI do Databricks usada para implantar a pilha. |
deployed_resources | Lista de ResourceStatus | O status de cada recurso implantado. Para cada recurso definido em StackConfig, um ResourceStatus correspondente é gerado aqui. |
ResourceStatus
Nome do Campo | Tipo | Descrição |
---|---|---|
id | STRING |
Um ID exclusivo de pilha para o recurso. |
service | ResourceService | O serviço de API REST no qual o recurso opera. Um dos seguintes: jobs ,workspace , ou dbfs . |
databricks_id | DatabricksId | A ID física do recurso implantado. O esquema real depende do tipo (serviço) do recurso. |
DatabricksId
Um objeto JSON cujo campo depende do serviço.
Serviço | Campo em JSON | Tipo | Description |
---|---|---|---|
área de trabalho | path | STRING | O caminho absoluto do bloco de anotações ou diretório em um espaço de trabalho do Azure Databricks. A nomenclatura é consistente com a API do espaço de trabalho. |
empregos | job_id | STRING | A ID do trabalho conforme mostrado em um espaço de trabalho do Azure Databricks. Isso pode ser usado para atualizar trabalhos já implantados. |
DBFS | path | STRING | O caminho absoluto do bloco de anotações ou diretório em um espaço de trabalho do Azure Databricks. A nomeação é consistente com a API DBFS. |