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:

  1. O esqueleto do pacote é criado com base em um projeto.

  2. 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.

  3. 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.

  4. 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.

  5. O fluxo de trabalho recurso definido no pacote implantado pode ser executado. Por exemplo, o senhor pode executar a Job.

  6. 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:

  1. Use o modelo de pacote default.

  2. Use um padrão de pacote personalizado.

  3. 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 mais informações sobre este comando, veja Databricks ativo Bundle padrão. Para obter informações sobre um pacote padrão específico, consulte a documentação do provedor do pacote padrão.

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:

  1. Adicione suporte ao servidor de linguagem YAML ao Visual Studio Code, por exemplo, instalando a extensão YAML do Visual Studio Code Marketplace.

  2. 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 chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  3. 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.

  4. 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.

  5. 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.

  1. 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 chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  2. 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.

  3. 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.

  1. 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 chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  2. 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.

  3. 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 workspace, nomes de artefatos, locais de arquivos, detalhes Job e detalhes pipeline. Normalmente, a configuração do pacote também contém destinos de implantação de desenvolvimento, preparação e produção. Para obter informações detalhadas sobre os arquivos de configuração do pacote, consulte Databricks ativo Bundle configurations.

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

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 .