bundle
grupo de comando
Observação
Essas informações se aplicam ao site Databricks CLI versões 0.218 e superiores. Para encontrar sua versão do site Databricks CLI, execute databricks -v
.
O grupo de comandos bundle
na CLI do Databricks permite validar, implementar e executar programaticamente o fluxo de trabalho do Databricks, como Databricks Job, Delta Live Tables pipeline e MLOps Stacks. Consulte O que são pacotes Databricks ativos?.
Importante
Antes de usar a CLI do Databricks, certifique-se de configurar a CLI do Databricks e configurar a autenticação para a CLI do Databricks.
Você executa bundle
comandos anexando-os a databricks bundle
. Para exibir ajuda para o comando bundle
, execução databricks bundle -h
.
Criar um bundle a partir de um projeto padrão
Para criar um pacote Databricks ativo usando o modelo default do pacote Databricks ativo para Python, execute o comando bundle init
da seguinte forma e, em seguida, responda aos prompts na tela:
databricks bundle init
Para criar um pacote Databricks ativo usando um modelo de pacote Databricks ativo nãodefault , execute o comando bundle init
da seguinte maneira:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Veja também:
Exibir o esquema de configuração do pacote
Para exibir o esquema de configuração do Databricks ativo Bundle, execute o comando bundle schema
, conforme a seguir:
databricks bundle schema
Para gerar o esquema de configuração do Databricks ativo Bundle como um arquivo JSON, execute o comando bundle schema
e redirecione a saída para um arquivo JSON. Por exemplo, o senhor pode gerar um arquivo chamado bundle_config_schema.json
no diretório atual, da seguinte forma:
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, como segue:
databricks bundle validate
Sincronizar a árvore de um bundle com um espaço de trabalho
Use o comando bundle sync
para fazer a 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 Databricks.
Observação
bundle sync
Os comandos não podem sincronizar alterações de arquivo de um diretório dentro de um workspace remoto do Databricks, de volta para um diretório dentro de um sistema de arquivos local.
databricks bundle sync
os comandos funcionam da mesma forma que os comandos databricks bundle
e são fornecidos como uma conveniência de produtividade. Para obter informações sobre o uso do comando, consulte o grupo de comandos de sincronização.
Gerar um arquivo de configuração do pacote
O senhor pode usar o comando bundle generate
para gerar a configuração de recurso para um Job ou pipeline que já existe em seu Databricks workspace. Esse comando gera um arquivo *.yml
para o Job ou pipeline na pasta resources
do projeto do pacote e também downloads qualquer Notebook referenciado na configuração do Job ou do pipeline. Atualmente, somente o trabalho com Notebook tarefa é suportado por esse comando.
Importante
O comando bundle generate
é fornecido como uma conveniência para gerar automaticamente a configuração do recurso. No entanto, quando essa configuração é 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 primeiro no recurso.
Execute o comando bundle generate
da seguinte forma:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
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 downloads o simple_notebook.py
na 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:
6565621249:
name: Hello Job
format: MULTI_TASK
tasks:
- task_key: run_notebook
existing_cluster_id: 0704-xxxxxx-yyyyyyy
notebook_task:
notebook_path: ./src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Vincular recurso de pacote
O comando bundle deployment bind
permite que o senhor vincule o trabalho e o pipeline definidos pelo pacote ao trabalho e pipeline existentes no Databricks workspace para que eles sejam gerenciados pelo Databricks ativo Bundles. Se o senhor vincular um recurso, os recursos existentes do Databricks no site workspace serão atualizados com base na configuração definida no pacote ao qual ele está vinculado após o próximo bundle deploy
.
Dica
É uma boa ideia confirmar o pacote workspace antes de executar o bind.
databricks bundle deployment bind [resource-key] [resource-id]
Por exemplo, o comando a seguir vincula o recurso hello_job
à sua contraparte remota no site workspace. O comando gera um diff e permite que o senhor negue a vinculação do recurso, mas, se confirmado, todas as atualizações da definição do Job no pacote serão aplicadas ao Job remoto correspondente quando o pacote for implantado novamente.
databricks bundle deployment bind hello_job 6565621249
Use bundle deployment unbind
se quiser remover o vínculo entre o Job ou o pipeline em um pacote e sua contraparte remota em um workspace.
databricks bundle deployment unbind [resource-key]
aprimorar um pacote
Para implantar qualquer artefato local especificado no site workspace remoto, execute o comando bundle deploy
na raiz do projeto do pacote. Se nenhuma opção de comando for especificada, será usado o ambiente default conforme declarado nos arquivos de configuração do pacote, como segue:
databricks bundle deploy
Dica
Você pode executar comandos databricks bundle
fora da raiz do pacote. Nesse caso, você pode especificar o caminho raiz do pacote configurando a variável de ambiente BUNDLE_ROOT
. Se esta variável de ambiente não estiver configurada, os comandos databricks bundle
tentarão localizar a raiz do pacote configurável pesquisando no diretório de trabalho atual.
Para implantar os artefatos no contexto de um ambiente específico, especifique a opção -e
(ou --environment
) juntamente com o nome do ambiente conforme declarado nos arquivos de configuração do pacote configurável. Por exemplo, para um ambiente declarado com o nome development
, execute o seguinte comando:
databricks bundle deploy -e development
execução de um pacote
Para executar um Job ou pipeline específico, use o comando bundle run
. O senhor deve especificar o recurso key do Job ou pipeline declarado nos arquivos de configuração do pacote. Em default, é usado o ambiente declarado nos arquivos de configuração do pacote. Por exemplo, para executar um Job hello_job
no ambiente default, execute o seguinte comando:
databricks bundle run hello_job
Para especificar o ambiente no qual a Job será executada, use a opção -e
. O exemplo a seguir executa hello_job
no ambiente development
:
databricks bundle run -e development hello_job
Se o senhor quiser fazer uma execução de 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âmetrosJob , use a opção --params
, seguida de par key-value separado por vírgula, em que key é o nome do parâmetro. Por exemplo, o comando a seguir define o parâmetro com o nome message
como HelloWorld
para o Job hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Observação
O senhor pode passar parâmetros para Job tarefa usando as opções de Job tarefa, mas a opção --params
é o método recomendado para passar parâmetros de Job. Ocorrerá um erro se os parâmetros de Job forem especificados para um Job que não tenha parâmetros de Job definidos ou se os parâmetros de tarefa forem especificados para um Job que tenha parâmetros de Job definidos.
Para cancelar e reiniciar uma execução ou atualização de pipeline existente no site Job, use a opção --restart
:
databricks bundle run --restart hello_job
Destruir um pacote
Para excluir o Job, o pipeline e os artefatos que foram implantados anteriormente, execute o comando bundle destroy
. O comando a seguir exclui todos os trabalhos, pipelines e artefatos implantados anteriormente que estão definidos nos arquivos de configuração do pacote:
databricks bundle destroy
Por default, você é solicitado a confirmar a exclusão permanente do Job, 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
.