Stack CLI (legado)
Essa documentação foi descontinuada e pode não estar atualizada.
Esta informação se aplica ao legado Databricks CLI versões 0.18 e abaixo. Databricks recomenda que o senhor use a versão mais recente do Databricks CLI 0.205 ou o acima. Consulte O que é a CLI do Databricks? Para encontrar sua versão do site Databricks CLI, execute databricks -v
.
Para migrar de Databricks CLI versão 0.18 ou abaixo para Databricks CLI versão 0.205 ou acima, consulte Databricks CLI migration.
Databricks CLI As versões 0.205 e acima não são compatíveis com a pilha CLI. A Databricks recomenda que, em vez disso, o senhor use o provedor Databricks Terraform.
A pilha CLI requer Databricks CLI 0.8.3 ou acima.
A pilha CLI oferece uma maneira de gerenciar uma pilha de Databricks recursos, como arquivos Job, Notebook e DBFS. O senhor pode armazenar arquivos do Notebook e do DBFS localmente e criar uma configuração de pilha JSON padrão que define mapeamentos dos arquivos locais para caminhos no seu Databricks workspace, juntamente com as configurações do trabalho que executa o Notebook.
Use a pilha CLI com a configuração da pilha JSON padrão para implantar e gerenciar sua pilha.
O senhor executa Databricks empilha os subcomandos CLI anexando-os a 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]
implantado uma pilha em um workspace
Esse subcomando implanta uma pilha. Consulte Configuração da pilha para saber como configurar uma pilha.
databricks stack deploy ./config.json
Configuração da pilha JSON padrão dá um exemplo de config.json
.
download de alterações no stack Notebook
Esse subcomando downloads o Notebook de uma pilha.
databricks stack download ./config.json
Exemplos
Configuração da pilha
Estrutura de arquivos de uma pilha de exemplo
tree
.
├── notebooks
| ├── common
| | └── notebook.scala
| └── config
| ├── environment.scala
| └── setup.sql
├── lib
| └── library.jar
└── config.json
Essa pilha de exemplo contém um Notebook principal em notebooks/common/notebook.scala
e um Notebook de configuração
na pasta notebooks/config
. Há uma dependência da biblioteca JAR da pilha
em lib/library.jar
. config.json
é a configuração da pilha JSON padrão da pilha. Isso é
o que é passado para a CLI da pilha para a implementação da pilha.
Configuração da pilha JSON padrão
O padrão de configuração da pilha descreve a configuração da 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": "i3.xlarge",
"aws_attributes": {
"availability": "SPOT"
},
"num_workers": 3
},
"timeout_seconds": 7200,
"max_retries": 1,
"notebook_task": {
"notebook_path": "/Users/example@example.com/dev/notebook"
}
}
}
]
}
Cada Job, workspace Notebook, diretório workspace, arquivo DBFS ou diretório DBFS é definido como um ResourceConfig. Cada ResourceConfig
que representa um workspace ou DBFS ativo contém um mapeamento do arquivo ou diretório onde ele existe localmente (source_path
) para onde ele existiria no workspace ou DBFS (path
).
O esquema do padrão de configuração da pilha descreve o esquema do padrão de configuração da pilha.
implantado a stack
O senhor implantou uma pilha usando o comando databricks stack deploy <configuration-file>
.
databricks stack deploy ./config.json
Durante a implementação da pilha, os ativos DBFS e workspace são carregados no seu Databricks workspace e o trabalho é criado.
No momento da implantação da pilha, um arquivo StackStatus JSON para a implantação é salvo no mesmo diretório que o padrão de configuração da pilha com o nome, acrescentando
deployed
imediatamente antes da extensão .json
: (por exemplo, ./config.deployed.json
). Esse arquivo é usado pelo Stack CLI para rastrear os recursos implantados anteriormente em seu site workspace.
O esquema de status da pilha descreve o esquema de uma configuração de pilha.
Não tente editar ou mover o arquivo de status da pilha. Se você receber algum erro em relação o arquivo de status da pilha, exclua o arquivo e tente a implantação novamente.
cat ./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:
Configuração da pilha padrão schema
Configuração de pilha
Esses são os campos externos de um padrão de configuração de pilha. Todos os campos são obrigatórios.
Nome do campo | Tipo | Descrição |
---|---|---|
name |
| O nome da pilha. |
recursos | Lista de ResourceConfig | Um ativo na Databricks. recurso estão relacionados a três serviços (REST API namespaces): workspace, Job e dbfs. |
Configuração de recursos
Os campos para cada ResourceConfig
. Todos os campos são obrigatórios.
Nome do campo | Tipo | Descrição |
---|---|---|
ID |
| Uma ID exclusiva para o recurso. A exclusividade do ResourceConfig é imposta. |
Serviço | O serviço da API REST em que o recurso opera. Um dos: | |
propriedades | Os campos são diferentes dependendo do serviço |
Propriedades do recurso
As propriedades de um recurso pelo ResourceService. Os campos são classificados como usados ou não usados em uma API REST da Databricks. Todos os campos listados são obrigatórios.
Serviço | Campos da API REST usados na CLI do Stack | Campos usados somente na CLI do Stack |
---|---|---|
workspace | path: | source_path: |
empregos | Qualquer campo na estrutura settings ou new_settings. O único campo que não é necessário na estrutura settings ou new_settings, mas que é necessário para a CLI da pilha, é o seguinte: name: | Nenhuma. |
dbfs | path: | source_path: |
Serviço de recursos
Cada recurso pertence a um serviço específico que se alinha à API REST da Databricks. Esses são os serviços suportados pelo Stack CLI.
Serviço | Descrição |
---|---|
workspace | Um workspace Notebook ou diretório. |
empregos | A Databricks Job. |
dbfs | Um arquivo ou diretório DBFS. |
Esquema de status da pilha
Status da pilha
Um arquivo de status da pilha é criado depois que uma pilha é implantada usando o site CLI. Os campos de nível superior são:
Nome do campo | Tipo | Descrição |
---|---|---|
name |
| O nome da pilha. Esse campo é o mesmo campo do StackConfig. |
CLI |
| A versão do site Databricks CLI usada para implantar a pilha. |
implantado | Lista de status de recursos | O status de cada recurso implantado. Para cada recurso definido em StackConfig, um ResourceStatus correspondente é gerado aqui. |
Status do recurso
Nome do campo | Tipo | Descrição |
---|---|---|
ID |
| Uma ID exclusiva da pilha para o recurso. |
Serviço | O serviço da API REST em que o recurso opera. Um dos: | |
databricks_id | A ID física do recurso implantado. O esquema real depende do tipo (serviço) do recurso. |
ID do DatabrickSID
Um objeto JSON cujo campo depende do serviço.
Serviço | Campo em JSON | Tipo | Descrição |
---|---|---|---|
workspace | Caminho | String | O caminho absoluto do Notebook ou do diretório em um Databricks workspace. A nomenclatura é consistente com o espaço de trabalho API. |
empregos | Trabalho | String | O ID do trabalho, conforme mostrado em Databricks workspace. Isso pode ser usado para atualizar o trabalho já implantado. |
dbfs | Caminho | String | O caminho absoluto do Notebook ou do diretório em um Databricks workspace. A nomenclatura é consistente com a API do DBFS. |