Databricks Desenvolvimento de pacotes ativos
Este artigo descreve o desenvolvimento e o ciclo de vida de um Databricks ativo Bundle. Para obter informações gerais sobre Databricks ativo Bundles, consulte O que são Databricks ativo Bundles?
Ciclo de vida de um pacote
Para saber como usar os pacotes de forma eficaz, o senhor precisa entender o ciclo de vida básico de um pacote:
O esqueleto do pacote é criado com base em um projeto.
O projeto do pacote é desenvolvido localmente. Um pacote contém arquivos de configuração que definem a infraestrutura e as configurações do workspace, como alvos de implementação, configurações para o recurso Databricks, como Job e pipeline, bem como arquivos de origem e outros artefatos.
O projeto do pacote é validado. A validação verifica as configurações e as definições de recurso na configuração do pacote em relação aos esquemas de objeto correspondentes para garantir que o pacote possa ser implementado em Databricks.
O feixe é implantado em um alvo workspace. O mais comum é que um pacote seja implantado primeiro no desenvolvimento pessoal de um usuário workspace para testes. Quando o teste do pacote estiver concluído, ele poderá ser implantado em alvos de preparação e, em seguida, de produção.
O fluxo de trabalho recurso definido no pacote implantado pode ser executado. Por exemplo, o senhor pode executar a Job.
Se o pacote não estiver mais sendo usado, ele poderá ser destruído permanentemente.
Use o comandoDatabricks CLI bundle para criar, validar, implantar, executar e destruir bundles, conforme descrito nas seções a seguir.
o passo 1: Criar um pacote
Existem três maneiras de começar a criar um pacote:
Use o modelo de pacote default.
Use um padrão de pacote personalizado.
Crie um pacote manualmente.
Usar um modelo de pacote padrão
Para usar um padrão de pacote Databricks default para criar um pacote inicial que possa ser personalizado posteriormente, use a Databricks CLI versão 0.218.0 ou superior para executar o comando bundle init
, que permite que o senhor escolha em uma lista de padrões disponíveis. Consulte Criar um pacote a partir de um projeto padrão.
databricks bundle init
O senhor pode acessar view o código-fonte dos modelos do pacote default nos repositórios públicos do Github databricks/CLI e databricks/mlops-stacks.
Pule para o passo 2: Preencher os arquivos de configuração do pacote.
Usar um padrão de pacote personalizado
Para usar um pacote padrão diferente do pacote padrão Databricks default , o senhor deve conhecer o caminho local ou o URL do local do pacote padrão remoto. Use a Databricks CLI versão 0.218.0 ou superior para executar o comando bundle init
da seguinte forma:
databricks bundle init <project-template-local-path-or-url>
Para obter mais informações sobre esse comando, consulte Databricks ativo Bundle project padrão. Para obter informações sobre um padrão de pacote específico, consulte a documentação do fornecedor do padrão de pacote.
Pule para o passo 2: Preencher os arquivos de configuração do pacote.
Crie um pacote manualmente
Para criar um pacote manualmente em vez de usar um padrão de pacote, crie um diretório de projeto em seu computador local ou um repositório vazio com um provedor Git de terceiros.
Em seu diretório ou repositórios, crie um ou mais arquivos de configuração de pacotes como entrada. Esses arquivos são expressos no formato YAML. Deve haver no mínimo um (e somente um) arquivo de configuração de pacote denominado databricks.yml
. Os arquivos de configuração de pacotes adicionais devem ser referenciados no mapeamento include
do arquivo databricks.yml
.
Para criar mais fácil e rapidamente arquivos YAML que estejam em conformidade com a sintaxe de configuração do Databricks ativo Bundle, você pode usar uma ferramenta como Visual Studio Code, PyCharm Professional ou IntelliJ IDEA Ultimate que fornece suporte para arquivos YAML e arquivos de esquema JSON, como segue:
Adicione suporte ao servidor de linguagem YAML ao Visual Studio Code, por exemplo, instalando a extensão YAML do Visual Studio Code Marketplace.
Gere o arquivo de esquema de configuração do pacote Databricks ativo JSON usando a Databricks CLI versão 0.218.0 ou superior para executar o comando
bundle schema
e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamadobundle_config_schema.json
no diretório atual, da seguinte forma:databricks bundle schema > bundle_config_schema.json
Use o Visual Studio Code para criar ou abrir um arquivo de configuração de pacote configurável no diretório atual. Este arquivo deve ser nomeado
databricks.yml
.Adicione o seguinte comentário ao início do arquivo de configuração do seu pacote:
# yaml-language-server: $schema=bundle_config_schema.json
Observação
No comentário anterior, se o arquivo de esquema JSON de configuração do pacote Databricks ativo estiver em um caminho diferente, substitua
bundle_config_schema.json
pelo caminho completo para seu arquivo de esquema.Use os recursos do servidor de linguagem YAML que você adicionou anteriormente. Para obter mais informações, consulte a documentação do servidor de linguagem YAML.
Gere o arquivo de esquema de configuração do pacote Databricks ativo JSON usando a Databricks CLI versão 0.218.0 ou superior para executar o comando
bundle schema
e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamadobundle_config_schema.json
no diretório atual, da seguinte forma:databricks bundle schema > bundle_config_schema.json
Configure o PyCharm para reconhecer o arquivo de esquema JSON de configuração do pacote configurável e, em seguida, conclua o mapeamento do esquema JSON seguindo as instruções em Configurar um esquema JSON personalizado.
Use PyCharm para criar ou abrir um arquivo de configuração de pacote configurável. Este arquivo deve ser nomeado
databricks.yml
. Conforme você digita, o PyCharm verifica a sintaxe e a formatação do esquema JSON e fornece dicas de conclusão de código.
Gere o arquivo de esquema de configuração do pacote Databricks ativo JSON usando a Databricks CLI versão 0.218.0 ou superior para executar o comando
bundle schema
e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamadobundle_config_schema.json
no diretório atual, da seguinte forma:databricks bundle schema > bundle_config_schema.json
Configure o IntelliJ IDEA para reconhecer o arquivo de esquema JSON de configuração do pacote configurável e, em seguida, conclua o mapeamento do esquema JSON seguindo as instruções em Configurar um esquema JSON personalizado.
Use o IntelliJ IDEA para criar ou abrir um arquivo de configuração de pacote configurável. Este arquivo deve ser nomeado
databricks.yml
. À medida que você digita, o IntelliJ IDEA verifica a sintaxe e a formatação do esquema JSON e fornece dicas de conclusão de código.
o passo 2: Preencher os arquivos de configuração do pacote
Os arquivos de configuração do pacote definem seu fluxo de trabalho Databricks especificando configurações como detalhes do workspace, nomes de artefatos, locais de arquivos, detalhes do trabalho e detalhes do pipeline. Normalmente, a configuração do pacote também contém metas de desenvolvimento, preparação e implantação de produção. Para obter informações detalhadas sobre os arquivos de configuração do pacote, consulte Databricks ativo Bundle configuration.
O senhor pode usar o comando bundle generate
para gerar automaticamente a configuração do pacote para um recurso existente no site workspace e, em seguida, usar bundle deployment bind
para vincular a configuração do pacote ao recurso no site workspace para mantê-los sincronizados. Consulte Gerar um arquivo de configuração de pacote e Vincular recurso de pacote.
o passo 3: Valide os arquivos de configuração do pacote
Antes de implantar artefatos ou executar um Job ou pipeline, o senhor deve verificar se as definições nos arquivos de configuração do pacote são válidas. Para fazer isso, execute o comando bundle validate
no diretório raiz do projeto do pacote. Consulte Validar um pacote.
databricks bundle validate
Se a validação for bem-sucedida, será retornado um resumo da identidade do pacote e uma mensagem de confirmação. Para gerar o esquema, use o comando databricks bundle schema
. Consulte Exibir o esquema de configuração do pacote.
o passo 4: implantou o pacote
Antes de implantar o pacote configurável, certifique-se de que o workspace remoto tenha arquivos workspace ativados. Consulte O que são arquivos de espaço de trabalho?.
Para implantar um pacote em um site remoto workspace, execute o comando bundle deploy
a partir da raiz do pacote, conforme descrito em implantado a bundle. O Databricks CLI é implantado no alvo workspace que é declarado nos arquivos de configuração do pacote. Veja os alvos.
databricks bundle deploy
A identidade exclusiva de um pacote é definida por seu nome, destino e a identidade do implantador. Se esses atributos forem idênticos em diferentes pacotes, a implementação desses pacotes interferirá uns nos outros. Consulte implantar um pacote para obter mais detalhes.
Dica
O senhor pode executar databricks bundle
comando fora da raiz do pacote definindo a variável de ambiente BUNDLE_ROOT
. Se essa variável de ambiente não for definida, databricks bundle
comando tentará localizar a raiz do pacote pesquisando no diretório de trabalho atual.
o passo 5: execução do pacote
Para executar um Job ou pipeline específico, execute o comando bundle run
a partir da raiz do pacote, especificando o Job ou pipeline key declarado nos arquivos de configuração do pacote, conforme descrito em Execução de um pacote. O recurso key é o elemento de nível superior do bloco YAML do recurso. Se o senhor não especificar um Job ou pipeline key, será solicitado a selecionar um recurso para execução em uma lista de recursos disponíveis. Se a opção -t
não for especificada, será usado o destino default conforme declarado nos arquivos de configuração do pacote. Por exemplo, para executar um Job com o key hello_job
dentro do contexto do alvo default:
databricks bundle run hello_job
Para executar um Job com um key hello_job
no contexto de um alvo declarado com o nome dev
:
databricks bundle run -t dev hello_job
o passo 6: Destrua o pacote
Aviso
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.
Se o senhor tiver terminado o pacote e quiser excluir o trabalho, o pipeline e os artefatos que foram implantados anteriormente, execute o comando bundle destroy
na raiz do pacote. Esse comando exclui todos os trabalhos, pipelines e artefatos implantados anteriormente que estão definidos nos arquivos de configuração do pacote. Consulte Destruir um 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
.