bundle
grupo de comando
Essas informações se aplicam ao site Databricks CLI versões 0.205 e superiores. A CLI da Databricks está em visualização pública.
Databricks CLI O uso está sujeito à LicençaDatabricks e ao Aviso de PrivacidadeDatabricks, incluindo qualquer provisionamento de Dados de Uso.
O grupo de comandos bundle
dentro do Databricks CLI contém comandos para gerenciar pacotes ativos do Databricks. Databricks Os pacotes do ativo permitem expressar projetos como código e validar, implantar e executar programaticamente fluxos de trabalho d Databricks, como o Databricks Job, oLakeFlow Declarative pipeline e o MLOps Stacks. Consulte O que são pacotes ativos de e Databricks?
pacote databricks implantado
Implantado um pacote no remoto workspace.
databricks bundle deploy [flags]
Combine o alvo e a identidade
Para implantar o pacote em um destino específico, defina a opção “ -t
” (ou “ --target
”) juntamente com o nome do destino, conforme declarado nos arquivos de configuração do pacote. Se nenhuma opção de comando for especificada, o destino default declarado nos arquivos de configuração do pacote será utilizado. Por exemplo, para um alvo declarado com o nome dev
:
databricks bundle deploy -t dev
Um pacote pode ser implantado em vários espaços de trabalho, como o espaço de trabalho de desenvolvimento, de preparação e de produção. Fundamentalmente, a propriedade root_path
é o que determina a identidade exclusiva de um pacote, cujo padrão é ~/.bundle/${bundle.name}/${bundle.target}
. Portanto, pelo site default, a identidade de um pacote é composta pela identidade do implantador, pelo nome do pacote e pelo nome do destino do pacote. Se eles forem idênticos em pacotes diferentes, a implantação desses pacotes interferirá entre si.
Além disso, uma implantação de pacote rastreia o recurso que cria no destino workspace por seus IDs como um estado que é armazenado no sistema de arquivos workspace. Os nomes de recurso não são usados para correlacionar entre uma implantação de pacote e uma instância de recurso, portanto:
- Se um recurso na configuração do pacote não existir no destino workspace, ele será criado.
- Se um recurso na configuração do pacote existir no destino workspace, ele será atualizado no workspace.
- Se um recurso for removido da configuração do feixe, ele será removido do alvo workspace se tiver sido implantado anteriormente.
- A associação de um recurso a um pacote só pode ser esquecida se o senhor alterar o nome do pacote, o destino do pacote ou o endereço workspace. O senhor pode executar
bundle validate
para gerar um resumo com esses valores.
Opções
--auto-approve
Ignore as aprovações interativas que possam ser necessárias para a implantação.
-c, --cluster-id string
Substitua o agrupamento na implantação com o ID de agrupamento fornecido.
--fail-on-active-runs
Falha se houver tarefas ou pipelines em execução na implantação.
--force
Ignorar a validação do branch Git.
--force-lock
Forçar a aquisição do bloqueio de implantação.
Exemplos
O exemplo a seguir implementa um pacote utilizando um ID de agrupamento específico:
databricks bundle deploy --cluster-id 0123-456789-abcdef
implantação do pacote databricks
Comando relacionado à implantação.
databricks bundle deployment [command]
Comando disponível
bind
- Vincule um recurso definido no pacote a um recurso existente no repositório remoto workspace.unbind
- Desvincule um recurso definido em um pacote de seu recurso remoto.
vínculo de implantação do pacote databricks
Vincule o recurso definido no pacote ao recurso existente em Databricks workspace , para que eles sejam gerenciados por Databricks ativo Bundles. Se você vincular um recurso, o recurso existente Databricks no workspace será atualizado com base na configuração definida no pacote ao qual ele está vinculado após o próximo bundle deploy
.
databricks bundle deployment bind KEY RESOURCE_ID [flags]
O Bind não recria dados. Por exemplo, se um pipeline com dados em um catálogo tiver sido vinculado, o senhor poderá implantá-lo no pipeline sem perder os dados existentes. Além disso, o senhor não precisa recomputar o Materialized view, por exemplo, para que o pipeline não precise ser executado novamente.
O comando bind deve ser usado com o sinalizador --target
. Por exemplo, vincule 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
É uma boa ideia confirmar o recurso no site workspace antes de executar o bind.
O Bind é compatível com os seguintes recursos:
- aplicativo
- Cluster
- dashboard
- job
- model_serving_endpoint
- pipeline
- monitor de qualidade
- modelo_registrado
- esquema
- volume
Argumentos
KEY
O recurso key para vincular
RESOURCE_ID
A identificação do recurso existente ao qual se deseja vincular.
Opções
--auto-approve
Aprove automaticamente a vinculação, em vez de solicitar
--force-lock
Forçar a aquisição do bloqueio de implantação.
Exemplos
O comando a seguir vincula o recurso hello_job
à sua contraparte remota no workspace. O comando gera uma diferença e permite que o senhor negue a vinculação do recurso, mas, se confirmada, todas as atualizações da definição do trabalho no pacote serão aplicadas ao trabalho remoto correspondente quando o pacote for implantado novamente.
databricks bundle deployment bind hello_job 6565621249
desvinculação da implantação do pacote databricks
Remova o link entre o recurso em um pacote e sua contraparte remota em um workspace.
databricks bundle deployment unbind KEY [flags]
Argumentos
KEY
O recurso key para desvincular
Opções
--force-lock
Forçar a aquisição do bloqueio de implantação.
Exemplos
O exemplo a seguir desvincula o recurso hello_job
:
databricks bundle deployment unbind hello_job
destruição do pacote databricks
A destruição de um pacote exclui permanentemente o trabalho, o pipeline e os artefatos implantados anteriormente no pacote. Essa ação não pode ser desfeita.
Exclua o trabalho, o pipeline, outros recursos e artefatos que foram implementados anteriormente.
databricks bundle destroy [flags]
A identidade de um pacote é composta pelo nome do pacote, o destino do pacote e o workspace. Se você alterou algum desses itens e tentou destruir um pacote antes de implantado, ocorrerá um erro.
Em default, o senhor é solicitado a confirmar a exclusão permanente do Job, do pipeline e dos artefatos implantados anteriormente. Para ignorar esses avisos e realizar a exclusão permanente automática, adicione a opção --auto-approve
ao comando bundle destroy
.
Opções
--auto-approve
Ignorar aprovações interativas para excluir recursos e arquivos
--force-lock
Forçar a aquisição do bloqueio de implantação.
Exemplos
O comando a seguir exclui todos os recursos e artefatos previamente implantados que estão definidos nos arquivos de configuração do pacote:
databricks bundle destroy
pacote de databricks gerado
Gere a configuração do pacote para um recurso que já existe em seu Databricks workspace. Os seguintes recursos são suportados: app, painel, Job, pipeline.
Em default, esse comando gera um arquivo *.yml
para o recurso na pasta resources
do projeto do pacote e também downloads todos os arquivos, como o Notebook, referenciados na configuração.
O comando " bundle generate
" é fornecido como uma conveniência para gerar automaticamente a configuração do recurso. No entanto, quando a configuração do recurso está 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. Consulte o vínculo de implantação do pacote databricks.
databricks bundle generate [command]
Comando disponível
app
- Gerar configuração de pacote para um aplicativo Databricks.dashboard
- Gere a configuração de um painel.job
- Gerar configuração de pacote para um trabalho.pipeline
- Gerar configuração de pacote para um pipeline.
Opções
--key string
recurso key a ser utilizado para a configuração gerada
aplicativo de geração de pacote databricks
Gere a configuração do pacote para um aplicativo existente no Databricks no workspace.
databricks bundle generate app [flags]
Opções
-d, --config-dir string
Caminho do diretório onde a configuração do pacote de saída será armazenada (default " recurso")
--existing-app-name string
Nome do aplicativo para o qual gerar a configuração
-f, --force
Força a substituição de arquivos existentes no diretório de saída
-s, --source-dir string
Caminho do diretório onde os arquivos do aplicativo serão armazenados (default " src/app")
Exemplos
O exemplo a seguir gera a configuração de um aplicativo existente chamado my-app
. > É possível obter o nome do aplicativo em “Computação” > “Aplicativos” tab na interface do usuário workspace.
databricks bundle generate app --existing-app-name my-app
O comando a seguir gera um novo arquivo hello_world.app.yml
na pasta do projeto resources
e downloads os arquivos de código do aplicativo, como o arquivo de configuração do comando do aplicativo app.yaml
e o principal app.py
. Por meio de default, os arquivos de código são copiados para a pasta src
do 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
painel de geração do pacote databricks
Gere a configuração para um painel existente no workspace.
databricks bundle generate dashboard [flags]
Para atualizar o arquivo .lvdash.json
depois que o senhor já tiver implantado um painel, use a opção --resource
ao executar bundle generate dashboard
para gerar esse arquivo para o recurso de painel existente. Para pesquisar e recuperar continuamente as atualizações em um painel, use as opções --force
e --watch
.
Opções
-s, --dashboard-dir string
Diretório para gravar a representação do painel (default " src")
--existing-id string
ID do painel para o qual gerar a configuração
--existing-path string
caminho do espaço de trabalho do painel para gerar a configuração para
-f, --force
Força a substituição de arquivos existentes no diretório de saída
--resource string
recurso key do painel para monitorar alterações
-d, --resource-dir string
Diretório para gravar a configuração (default " recurso")
--watch
Observe as alterações no painel e atualize a configuração
Exemplos
O exemplo a seguir gera a configuração por meio de um ID de painel existente:
databricks bundle generate dashboard --existing-id abc123
Também é possível gerar a configuração de um painel existente através do caminho workspace. Copie o caminho workspace para um painel da interface do usuário workspace.
Por exemplo, o comando a seguir gera um novo arquivo baby_gender_by_county.dashboard.yml
na pasta resources
do projeto do pacote que contém o YAML abaixo e downloads o arquivo baby_gender_by_county.lvdash.json
na pasta src
do projeto.
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
Gerar pacote de tarefas do Databricks
Gere a configuração do pacote para um trabalho.
Atualmente, apenas o trabalho com a tarefa Notebook é suportado por esse comando.
databricks bundle generate job [flags]
Opções
-d, --config-dir string
Caminho de diretório onde a configuração de saída será armazenada (default " recurso")
--existing-job-id int
Job ID da tarefa para a qual a configuração será gerada
-f, --force
Força a substituição de arquivos existentes no diretório de saída
-s, --source-dir string
Caminho de diretório onde os arquivos baixados serão armazenados (default " src")
Exemplos
O exemplo a seguir gera um novo arquivo hello_job.yml
na pasta do projeto resources
contendo o YAML abaixo e downloads o 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
gerar pipeline do pacote databricks
Gere a configuração do pacote para um pipeline.
databricks bundle generate pipeline [flags]
Opções
-d, --config-dir string
Caminho de diretório onde a configuração de saída será armazenada (default " recurso")
--existing-pipeline-id string
ID do pipeline para gerar a configuração
-f, --force
Força a substituição de arquivos existentes no diretório de saída
-s, --source-dir string
Caminho de diretório onde os arquivos baixados serão armazenados (default " src")
Exemplos
O exemplo a seguir gera a configuração para um pipeline existente:
databricks bundle generate pipeline --existing-pipeline-id abc-123-def
inicialização do pacote databricks
Inicialize um novo pacote utilizando um pacote padrão. O padrão pode ser configurado para solicitar valores ao usuário. Consulte o pacote padrão do Bundle ativoDatabricks.
databricks bundle init [TEMPLATE_PATH] [flags]
Argumentos
TEMPLATE_PATH
padrão a ser utilizado para inicialização (opcional)
Opções
--branch string
Git ramo a ser utilizado para a inicialização padrão
--config-file string
JSON arquivo contendo par key-value dos parâmetros de entrada necessários para a inicialização padrão.
--output-dir string
Diretório para gravar o padrão inicializado.
--tag string
Git tag a ser utilizada para a inicialização padrão
--template-dir string
Caminho do diretório dentro de um repositório Git que contém o padrão.
Exemplos
O exemplo a seguir exibe uma lista de pacotes padrão de default para seleção:
databricks bundle init
O exemplo a seguir inicializa um pacote utilizando o padrão default Python :
databricks bundle init default-python
Para criar um pacote ativo Databricks utilizando um pacote ativo padrão Databricks personalizado, especifique o caminho padrão personalizado:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
O exemplo a seguir inicializa um pacote a partir de um repositório Git:
databricks bundle init https://github.com/my/repository
O exemplo a seguir é inicializado com uma ramificação específica:
databricks bundle init --branch main
pacote databricks aberto
Navegue até um recurso de pacote em “ workspace”, especificando o recurso a ser aberto. Se um recurso key não for especificado, este comando exibe uma lista dos recursos do pacote a partir da qual é possível escolher.
databricks bundle open [flags]
Opções
--force-pull
Ignorar o cache local e carregar o estado do remoto workspace
Exemplos
O exemplo a seguir inicia um navegador e navega até o painel baby_gender_by_county
no pacote em Databricks workspace que está configurado para o pacote:
databricks bundle open baby_gender_by_county
pacote de execução do databricks
Executar uma tarefa, um pipeline ou um script. Se não especificar um recurso, o comando solicitará que você selecione entre os trabalhos, pipelines e scripts definidos. Como alternativa, especifique o nome da tarefa ou o nome do script pipeline ou key declarado nos arquivos de configuração do pacote.
databricks bundle run [flags] [KEY]
Validar um pipeline
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
Passar parâmetros do trabalho
Para passar parâmetros de trabalho, use a opção --params
, seguida por parâmetros separados por vírgula key-value, em que key é o nome do parâmetro. Por exemplo, o comando a seguir define o parâmetro com o nome message
para HelloWorld
para o Job hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Conforme demonstrado nos exemplos a seguir, é possível passar parâmetros para a tarefa Job utilizando as opções da tarefa Job, porém a opção --params
é o método recomendado para passar parâmetros da tarefa Job. Ocorre um erro se os parâmetros da tarefa forem especificados para uma tarefa que não possui parâmetros de tarefa definidos ou se os parâmetros da tarefa forem especificados para uma tarefa que possui parâmetros de tarefa definidos.
Você também pode especificar argumentos posicionais ou de palavra-chave. Se a tarefa especificada utilizar parâmetros de tarefa ou se a tarefa tiver um caderno de tarefas com parâmetros, os nomes dos sinalizadores serão mapeados para os nomes dos parâmetros:
databricks bundle run hello_job -- --key1 value1 --key2 value2
Python Ou, se a tarefa especificada não utilizar parâmetros de tarefa e a tarefa tiver um arquivo tarefa ou um arquivo Python wheel:
databricks bundle run my_job -- value1 value2 value3
Executar scripts
Para executar scripts, como testes de integração com as credenciais de autenticação configuradas de um pacote, é possível executar scripts inline ou executar um script definido na configuração do pacote. Os scripts são executados utilizando o mesmo contexto de autenticação configurado no pacote.
-
Adicione um hífen duplo (
--
) apósbundle run
para executar scripts inline. Por exemplo, o comando a seguir exibe o diretório de trabalho atual do usuário atual:Bashdatabricks bundle run -- python3 -c 'import os; print(os.getcwd())'
-
Como alternativa, defina um script dentro do mapeamento
scripts
na configuração do seu pacote e, em seguida, utilizebundle run
para executar o script:YAMLscripts:
my_script:
content: python3 -c 'import os; print(os.getcwd())'Bashdatabricks bundle run my_script
Para obter mais informações sobre a configuração do
scripts
, consulte scripts e scripts.
As informações de autenticação do pacote são transmitidas aos processos secundários usando a variável de ambiente. Consulte Autenticação unificada do cliente Databricks.
Argumentos
KEY
O identificador único do recurso para execução (opcional)
Opções
--no-wait
Não aguarde a conclusão da execução.
--restart
Reinicie a execução se ela já estiver em andamento.
Job Bandeiras
Os seguintes sinalizadores são sinalizadores de parâmetros no nível da tarefa. Consulte Configurar parâmetros da tarefa.
--params stringToString
pares k=v separados por vírgulas para parâmetros de tarefa (default []
)
Job Bandeiras tarefa
Os seguintes sinalizadores são sinalizadores de parâmetros no nível da tarefa. Consulte Configurar parâmetros da tarefa. Databricks Recomenda-se utilizar parâmetros de nível de tarefa (--params
) em vez de parâmetros de nível de tarefa.
--dbt-commands strings
Uma lista de comandos a serem executados para a tarefa com DBT tarefa.
--jar-params strings
Spark JAR tarefa.
--notebook-params stringToString
Um mapa de valores para a tarefa Job com o caderno tarefa. (default []
)
--pipeline-params stringToString
Um mapa de valores para a tarefa Job com pipeline tarefa. (default []
)
--python-named-params stringToString
Um mapa de valores para a tarefa Job com Python wheel. (default []
)
--python-params strings
Uma lista de parâmetros para a tarefa Job com Python.
--spark-submit-params strings
Uma lista de parâmetros para tarefas com o comando “ Spark ”.
--sql-params stringToString
Um mapa de valores para a tarefa Job com SQL tarefa. (default []
)
Sinalizadores de pipeline
Os seguintes sinalizadores são sinalizadores de pipeline.
--full-refresh strings
Lista de tabelas a serem reiniciadas e recalculadas.
--full-refresh-all
Realize uma reinicialização completa do gráfico e recalcule.
--refresh strings
Lista de tabelas a serem atualizadas.
--refresh-all
Realize uma atualização completa do gráfico.
--validate-only
Realize uma atualização para validar a exatidão do gráfico.
Exemplos
O exemplo a seguir executa um trabalho hello_job
no destino default:
databricks bundle run hello_job
O exemplo a seguir executa uma tarefa hello_job
no contexto de um destino declarado com o nome dev
:
databricks bundle run -t dev hello_job
O exemplo a seguir cancela e reinicia uma execução de tarefa existente:
databricks bundle run --restart hello_job
O exemplo a seguir executa um pipeline com refresh completo:
databricks bundle run my_pipeline --full-refresh-all
O exemplo a seguir executa um comando no contexto do pacote:
databricks bundle run -- echo "hello, world"
esquema de pacote databricks
Exibir o esquema JSON para a configuração do pacote.
databricks bundle schema [flags]
Opções
Exemplos
O exemplo a seguir exibe o esquema JSON para a configuração do pacote:
databricks bundle schema
Para gerar o esquema de configuração do pacote 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:
databricks bundle schema > bundle_config_schema.json
resumo do pacote databricks
Gere um resumo da identidade e do recurso de um pacote, incluindo links diretos para o recurso, para que você possa navegar facilmente até o recurso no Databricks workspace.
databricks bundle summary [flags]
Também é possível utilizar bundle open
para navegar até um recurso no Databricks workspace. Veja o pacote databricks aberto.
Opções
--force-pull
Ignorar o cache local e carregar o estado do remoto workspace
Exemplos
O exemplo a seguir exibe um resumo do recurso implantado de um pacote:
databricks bundle summary
A saída a seguir é o resumo de um pacote denominado “ my_pipeline_bundle
” que define um Job 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
sincronização de pacotes databricks
Realize uma sincronização unidirecional das alterações nos arquivos de um pacote dentro de um diretório do sistema de arquivos local para um diretório dentro de um Databricks workspace.
bundle sync
O comando não pode sincronizar alterações de arquivos de um diretório em um sistema de arquivos remoto Databricks workspace, de volta para um diretório em um sistema de arquivos local.
databricks bundle sync [flags]
databricks bundle sync
Os comandos funcionam da mesma forma que um comando d databricks sync
e são fornecidos para facilitar a produtividade. Para obter informações sobre o uso do comando, consulte sync
comando.
Opções
--dry-run
Simule a execução da sincronização sem fazer alterações reais
--full
Realizar sincronização completa (default é incremental)
--interval duration
Intervalo de pesquisa do sistema de arquivos (para --watch
) (default 1s)
--output type
Tipo do formato de saída
--watch
Observe as alterações no sistema de arquivos local
Exemplos
O exemplo a seguir executa uma sincronização de execução seca:
databricks bundle sync --dry-run
O exemplo a seguir monitora as alterações e sincroniza automaticamente:
databricks bundle sync --watch
O exemplo a seguir executa uma sincronização completa:
databricks bundle sync --full
validação do pacote databricks
Verifique se os arquivos de configuração do pacote estão sintaticamente corretos.
databricks bundle validate [flags]
Em default, 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!
O comando bundle validate
emite avisos se as propriedades do recurso forem definidas nos arquivos de configuração do pacote e não forem encontradas no esquema do objeto correspondente.
Se o senhor quiser gerar apenas um resumo da identidade e do recurso do pacote, use bundle summary.
Opções
Exemplos
O exemplo a seguir valida a configuração do pacote:
databricks bundle validate
Bandeiras globais
--debug
Se deve habilitar o registro de depuração.
-h
ou --help
Exibir ajuda para o comando Databricks CLI ou para o grupo de comandos relacionado ou para o comando relacionado.
--log-file
string
Uma string que representa o arquivo no qual a saída logs deve ser gravada. Se este sinalizador não for especificado, o default deverá gravar a saída logs no stderr.
--log-format
Formato
O tipo de formato do log, text
ou json
. O valor de default é text
.
--log-level
string
Uma string que representa o nível de formato do log. Se não for especificado, o nível de formato do log será desativado.
-o, --output
Tipo
O tipo de saída do comando, text
ou json
. O valor de default é text
.
-p, --profile
string
O nome do perfil no arquivo ~/.databrickscfg
a ser utilizado para executar o comando. Se esse sinalizador não for especificado, se existir, o perfil chamado DEFAULT
será usado.
--progress-format
Formato
O formato para exibir o progresso logs: default
, append
, inplace
ou json
-t, --target
string
Se aplicável, o destino do pacote a ser usado
--var strings
defina valores para variáveis definidas na configuração do pacote. Exemplo: --var= " foo=bar "