Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Grupo de comandos
Observação
Essas informações se aplicam às versões 0.205 e superiores da CLI do Databricks. A CLI do Databricks está em Visualização Pública.
O uso da CLI do Databricks está sujeito à Licença do Databricks e ao Aviso de Privacidade do Databricks, incluindo quaisquer disposições de Dados de Uso.
O bundle
grupo de comandos dentro da CLI do Databricks permite que você valide, implante e execute programaticamente fluxos de trabalho do Azure Databricks, como trabalhos do Azure Databricks, Pipelines Declarativos do Lakeflow e MLOps Stacks. Consulte O que são os Pacotes de Ativos do Databricks?.
Você executa comandos bundle
anexando-os a databricks bundle
. Para exibir a ajuda para o comando bundle
, execute databricks bundle -h
.
Criar um pacote com base em um modelo de projeto
Para criar um Pacote de Ativos do Databricks usando o modelo padrão do Pacote de Ativos do Databricks para Python, execute o bundle init
comando da seguinte maneira e responda aos prompts na tela:
databricks bundle init
Para criar um Pacote de Ativos do Databricks usando um modelo personalizado do Pacote de Ativos do Databricks, execute o bundle init
comando da seguinte maneira:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Consulte também:
- Modelos de projeto do Pacote de Ativos do Databricks
- Desenvolver um trabalho com pacotes de ativos do Databricks
- Desenvolver pipelines declarativos do Lakeflow com pacotes de ativos do Databricks
- Pacotes de Ativos do Databricks para pilhas de MLOps
Exibir o esquema de configuração do pacote
Para exibir o esquema de configuração do pacote, execute o bundle schema
comando da seguinte maneira:
databricks bundle schema
Para gerar o esquema de configuração do Pacote de Ativos do Databricks como um arquivo JSON, execute o comando bundle schema
e redirecione a saída para um arquivo JSON. Por exemplo, você pode gerar um arquivo chamado bundle_config_schema.json
no diretório atual, da seguinte maneira:
databricks bundle schema > bundle_config_schema.json
Validar um pacote
Para validar se os arquivos de configuração do pacote estão sintaticamente corretos, execute o comando bundle validate
na raiz do projeto do pacote, da seguinte maneira:
databricks bundle validate
Por padrão, esse comando retorna um resumo da identidade do pacote.
Name: MyBundle
Target: dev
Workspace:
Host: https://my-host.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/MyBundle/dev
Validation OK!
Observação
O bundle validate
comando gera avisos se as propriedades do recurso são definidas nos arquivos de configuração de pacote que não são encontrados no esquema do objeto correspondente.
Se você quiser apenas gerar um resumo da identidade e dos recursos do pacote, use o resumo do pacote.
Sincronizar a árvore de um pacote com um espaço de trabalho
O comando bundle sync
executa uma sincronização unidirecional das alterações de arquivo de um pacote em um diretório do sistema de arquivos local para um diretório em um workspace remoto do Azure Databricks.
Observação
Os comandos bundle sync
não podem sincronizar alterações de arquivo de um diretório em um workspace remoto do Azure Databricks, de volta para um diretório dentro de um sistema de arquivos local.
Os comandos databricks bundle sync
funcionam da mesma forma que os comandos databricks sync
e são fornecidos como uma conveniência de produtividade. Para obter informações de uso de comando, consulte osync
grupo de comandos.
Gerar um arquivo de configuração de pacote
O bundle generate
comando gera configuração para um recurso que já existe no workspace do Databricks. São suportados os seguintes recursos:
Por padrão, esse comando gera um arquivo *.yml
do recurso na pasta resources
do projeto do pacote e também baixa todos os arquivos, como notebooks, referenciados na configuração.
Importante
O comando bundle generate
é fornecido como uma conveniência para gerar automaticamente a configuração de recursos. No entanto, quando a configuração de recursos é incluída no pacote e implantada, ela cria um novo recurso e não atualiza o recurso existente, a menos que bundle deployment bind
tenha sido usado pela primeira vez. Confira Vincular um recurso do pacote.
Gerar configuração do aplicativo
Para gerar a configuração de um aplicativo existente no workspace, execute bundle generate app
, especificando o nome do aplicativo no workspace:
databricks bundle generate app --existing-app-name [app-name]
Você pode obter o nome do aplicativo na guia Compute>Apps da UI do espaço de trabalho.
Por exemplo, o comando a seguir gera um novo hello_world.app.yml
arquivo na pasta de projeto do resources
pacote e baixa os arquivos de código do aplicativo, como o arquivo app.yaml
de configuração de comando do aplicativo e principal app.py
. Por padrão, os arquivos de código são copiados para a pasta do src
pacote.
databricks bundle generate app --existing-app-name "hello_world"
# This is the contents of the resulting /resources/hello-world.app.yml file.
resources:
apps:
hello_world:
name: hello-world
description: A basic starter application.
source_code_path: ../src/app
Gerar configuração do painel
Para gerar a configuração de um painel existente no espaço de trabalho, execute bundle generate dashboard
, especificando a ID ou o caminho do espaço de trabalho para o painel:
databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]
Você pode copiar o caminho do workspace para um dashboard na interface do usuário do workspace.
Por exemplo, o comando a seguir gera um novo arquivo baby_gender_by_county.dashboard.yml
na pasta do projeto resources
do pacote, que contém o YAML abaixo, e faz o download do arquivo baby_gender_by_county.lvdash.json
para a pasta do projeto src
.
databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
dashboards:
baby_gender_by_county:
display_name: 'Baby gender by county'
warehouse_id: aae11o8e6fe9zz79
file_path: ../src/baby_gender_by_county.lvdash.json
Dica
Para atualizar o arquivo depois de já ter implantado .lvdash.json
um painel, use a --resource
opção ao executar bundle generate dashboard
para gerar esse arquivo para o recurso de painel existente. Para sondar e recuperar continuamente as atualizações de um painel, use as opções --force
e --watch
.
Gerar configuração de tarefa ou pipeline
Para gerar a configuração para um trabalho ou pipeline, execute o comando bundle generate job
ou bundle generate pipeline
:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Observação
Atualmente, somente trabalhos com tarefas de notebook são compatíveis com esse comando.
Por exemplo, o comando a seguir gera um novo arquivo hello_job.yml
na pasta do projeto do pacote resources
contendo o YAML abaixo e faz o download do simple_notebook.py
para a pasta do projeto src
.
databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
jobs:
hello_job:
name: 'Hello Job'
tasks:
- task_key: run_notebook
email_notifications: {}
notebook_task:
notebook_path: ../src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Associar um recurso agrupado
O bundle deployment bind
comando permite vincular recursos definidos por pacote a recursos existentes no workspace do Azure Databricks para que eles se tornem gerenciados pelos Pacotes de Ativos do Databricks. Se você associar um recurso, o recurso existente do Azure Databricks no workspace será atualizado com base na configuração definida no pacote ao qual ele está associado após o próximo bundle deploy
.
databricks bundle deployment bind [resource-key] [resource-id]
Bind não recria dados. Por exemplo, se um pipeline com dados em um catálogo tiver a vinculação aplicada, você poderá implantar nesse pipeline sem perder os dados existentes. Além disso, você não precisa recomputar a visão materializada, por exemplo, para que os pipelines não precisem ser executados novamente.
O comando bind deve ser usado com a flag --target
. Por exemplo, associe sua implantação de produção ao pipeline de produção usando databricks bundle deployment bind --target prod my_pipeline 7668611149d5709ac9-2906-1229-9956-586a9zed8929
Dica
É uma boa ideia confirmar o recurso no workspace antes de executar a associação.
O Bind tem suporte para os seguintes recursos:
- aplicação
- cluster
- painel
- trabalho
- ponto_de_serviço_do_modelo
- pipeline
- monitor_de_qualidade
- modelo_registrado
- esquema
- volume
O comando a seguir associa o recurso hello_job
ao seu equivalente remoto no workspace. O comando mostra as diferenças e permite que você recuse a associação de recursos, mas, se confirmada, todas as atualizações na definição de trabalho no pacote são aplicadas ao trabalho remoto correspondente na próxima vez que o pacote for implantado.
databricks bundle deployment bind hello_job 6565621249
Desassociar um recurso de pacote
Se você quiser remover o link entre o recurso em um pacote e seu equivalente remoto em um workspace, use bundle deployment unbind
:
databricks bundle deployment unbind [resource-key]
Por exemplo, para desassociar o recurso hello_job
:
databricks bundle deployment unbind hello_job
Mostrar um resumo do pacote
O bundle summary
comando gera um resumo da identidade e dos recursos de um pacote, incluindo links profundos para recursos para que você possa navegar facilmente até o recurso no workspace do Databricks.
databricks bundle summary
O exemplo de saída a seguir é o resumo de uma reunião chamada my_pipeline_bundle
que define um trabalho e um pipeline:
Name: my_pipeline_bundle
Target: dev
Workspace:
Host: https://myworkspace.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
Jobs:
my_project_job:
Name: [dev someone] my_project_job
URL: https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
Pipelines:
my_project_pipeline:
Name: [dev someone] my_project_pipeline
URL: https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999
Dica
Você também pode usar bundle open
para navegar até um recurso no workspace do Databricks. Consulte Abrir um recurso de pacote.
Implantar um pacote de software
Para implantar um pacote no workspace remoto, execute o comando bundle deploy
na raiz do projeto do pacote. Se nenhuma opção de comando for especificada, o destino padrão, conforme declarado nos arquivos de configuração do pacote, será usado.
databricks bundle deploy
Para implantar o pacote em um destino específico, defina a opção -t
(ou --target
) junto com o nome do destino, conforme declarado nos arquivos de configuração do pacote. Por exemplo, para um destino declarado com o nome dev
:
databricks bundle deploy -t dev
Um pacote pode ser implantado em vários espaços de trabalho, como espaços de trabalho de desenvolvimento, homologação e produção. Fundamentalmente, a root_path
propriedade é o que determina a identidade exclusiva de um pacote, que usa como padrão ~/.bundle/${bundle.name}/${bundle.target}
. Portanto, por padrão, a identidade de um pacote é composta pela identidade do implantador, pelo nome do pacote e pelo nome de destino do pacote. Se forem idênticos em diferentes pacotes, a implantação dos pacotes sofrerá interferência.
Além disso, uma implantação de reunião rastreia os recursos que cria no espaço de trabalho de destino por suas IDs como um estado armazenado no sistema de arquivos do espaço de trabalho. Os nomes de recursos não são usados para correlacionar uma implantação de pacote e uma instância de recurso, portanto:
- Se um recurso na configuração do pacote não existir no workspace de destino, ele será criado.
- Se houver um recurso na configuração do pacote no espaço de trabalho de destino, ele será atualizado lá.
- Se um recurso for removido da configuração do pacote, ele será removido do workspace de destino se ele tiver sido implantado anteriormente.
- A associação de um recurso a um pacote só poderá ser esquecida se você alterar o nome do pacote, o destino do pacote ou o workspace. Você pode executar
bundle validate
para gerar um resumo contendo esses valores.
Executar um trabalho ou pipeline
Para executar um trabalho ou pipeline específico, use o comando bundle run
. Você deve especificar a chave de recurso do trabalho ou pipeline declarado nos arquivos de configuração do pacote. Por padrão, será usado o ambiente declarado dentro dos arquivos de configuração do pacote. Por exemplo, para executar um trabalho hello_job
no ambiente padrão, execute o seguinte comando:
databricks bundle run hello_job
Para executar um trabalho com uma chave hello_job
no contexto de um destino declarado com o nome dev
:
databricks bundle run -t dev hello_job
Se você quiser fazer uma validação de pipeline, use a opção --validate-only
, conforme mostrado no exemplo a seguir:
databricks bundle run --validate-only my_pipeline
Para passar parâmetros de trabalho, use a opção --params
, seguida por pares chave-valor separados por vírgulas, em que a chave é o nome do parâmetro. Por exemplo, o comando a seguir define o parâmetro com o nome message
como HelloWorld
para o trabalho hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Observação
Você pode transmitir parâmetros para tarefas de trabalho usando as opções de tarefa de trabalho, mas a opção --params
é o método recomendado para passar parâmetros de trabalho. Ocorrerá um erro se os parâmetros de trabalho forem especificados para um trabalho que não tenha parâmetros de trabalho definidos ou se os parâmetros de tarefa forem especificados para um trabalho que tenha parâmetros de trabalho definidos.
Para cancelar e reiniciar uma execução de trabalho existente ou uma atualização de pipeline, use a opção --restart
:
databricks bundle run --restart hello_job
Acrescente --
(hífen duplo) após bundle run
para executar scripts com as credenciais de autenticação configuradas do pacote. Por exemplo, o comando a seguir gera o diretório de trabalho atual do usuário atual:
databricks bundle run -- python3 -c 'import os; print(os.getcwd())'
As informações de autenticação do bundle são passadas para processos-filhos usando variáveis de ambiente. Consulte a autenticação unificada do cliente do Databricks.
Abrir um recurso de pacote
Para navegar até um recurso de pacote no ambiente de trabalho, execute o comando bundle open
a partir da raiz do projeto de pacote, especificando o recurso a ser aberto. Se uma chave de recurso não for especificada, esse comando gerará uma lista dos recursos do pacote a partir do qual escolher.
databricks bundle open [resource-key]
Por exemplo, o comando a seguir inicia um navegador e navega até o painel baby_gender_by_county no pacote no workspace do Databricks configurado para o pacote:
databricks bundle open baby_gender_by_county
Destruir um pacote
Aviso
Destruir um pacote exclui permanentemente os trabalhos, pipelines e artefatos previamente implantados por esse pacote. Essa ação não pode ser desfeita.
Para excluir trabalhos, pipelines e artefatos que foram implantados anteriormente, execute o comando bundle destroy
. O comando a seguir exclui todos os trabalhos, pipelines e artefatos que foram implantados anteriormente e que estão definidos nos arquivos de configuração do bundle:
databricks bundle destroy
Observação
A identidade de um pacote é composta pelo nome do pacote, pelo destino do pacote e pelo workspace. Se você tiver alterado qualquer um deles e tentar destruir um pacote antes da implantação, ocorrerá um erro.
Por padrão, você será solicitado a confirmar a exclusão permanente dos trabalhos, pipelines e artefatos implantados anteriormente. Para ignorar esses prompts e executar a exclusão permanente automática, adicione a opção --auto-approve
ao comando bundle destroy
.