Converter um projeto Delta Live Tables pipeline em um projeto Databricks ativo Bundle

Este artigo mostra como converter um Delta Live Tables (DLT) pipeline existente em um projeto de pacote. Os pacotes permitem que o senhor defina e gerencie sua configuração de processamento de dados do Databricks em um único arquivo YAML controlado por fonte, o que facilita a manutenção e permite a implementação automatizada em ambientes de destino.

Visão geral do processo de conversão

Diagrama mostrando as etapas específicas da conversão de um pipeline existente em um pacote

As etapas que o senhor executa para converter um pipeline existente em um pacote são:

  1. Verifique se o senhor tem acesso a um pipeline configurado anteriormente que deseja converter em um pacote.

  2. Crie ou prepare uma pasta (de preferência em uma hierarquia controlada pela fonte) para armazenar o pacote.

  3. Gerar uma configuração para o pacote a partir do pipeline existente, usando a CLI do Databricks.

  4. Revise a configuração do pacote gerado para garantir que ela esteja completa.

  5. Vincule o pacote ao pipeline original.

  6. Implante o pipeline em um workspace de destino usando a configuração do pacote.

Requisitos

Antes de começar, o senhor deve ter:

Etapa 1: configure uma pasta para seu projeto de pacote

O senhor deve ter acesso a um repositório Git que esteja configurado no Databricks como uma pasta Git. O senhor criará o seu projeto de pacote nesse repositório, que aplicará o controle de origem e o disponibilizará para outros colaboradores por meio de uma pasta Git no Databricks workspace correspondente. (Para obter mais detalhes sobre as pastas Git, consulte Integração do Git para pastas Git da Databricks).

  1. Vá para a raiz do repositório Git clonado em seu computador local.

  2. Em um local apropriado na hierarquia de pastas, crie uma pasta específica para seu projeto de pacote. Por exemplo:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Altere seu diretório de trabalho atual para essa nova pasta. Por exemplo:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Inicialize um novo pacote executando databricks bundle init e respondendo às solicitações. Após a conclusão, o senhor terá um arquivo de configuração de projeto chamado databricks.yml na nova pasta de origem do seu projeto. Esse arquivo é necessário para implantar o site pipeline a partir da linha de comando. Para obter mais detalhes sobre esse arquivo de configuração, consulte Databricks ativo Bundle configuration.

Etapa 2: gerar a configuração do pipeline

A partir desse novo diretório na árvore de pastas do repositório Git clonado, execute o seguinte comando Databricks CLI e forneça o ID do seu DLT pipeline como <pipeline-id>:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

Quando o senhor executa o comando generate, ele cria um arquivo de configuração de pacote para o seu pipeline na pasta resources do pacote e downloads todos os artefatos referenciados na pasta src. O sinalizador --profile (ou -p) é opcional, mas se o senhor tiver um perfil de configuração Databricks específico (definido no arquivo .databrickscfg criado quando instalou o Databricks CLI) que prefira usar em vez do perfil default, forneça-o nesse comando. Para obter informações sobre os perfis de configuração do site Databricks, consulte Databricks configuration profiles.

Etapa 3: Revise os arquivos do projeto do pacote

Quando o comando bundle generate for concluído, ele terá criado duas novas pastas:

  • resources is é o subdiretório do projeto que contém os arquivos de configuração do projeto.

  • src é a pasta do projeto em que os arquivos de origem, como consultas e Notebook, são armazenados.

O comando também cria alguns arquivos adicionais:

  • *.pipeline.yml no subdiretório resources. Esse arquivo contém a configuração e as definições específicas para seu pipeline DLT.

  • Arquivos de origem, como consultas SQL no subdiretório src, copiados do pipeline DLT existente.

├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {SQl-query-retrieved-from-your-existing-pipeline}.sql # Your pipeline's declarative query

Etapa 4: vincule o pipeline do pacote ao pipeline existente

O senhor deve vincular ou associar a definição do pipeline no pacote ao pipeline existente para mantê-lo atualizado à medida que fizer alterações. Para fazer isso, execute o seguinte Databricks CLI comando:

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> é o nome do pipeline. Esse nome deve ser igual ao valor de strings prefixado do nome do arquivo para a configuração pipeline em seu novo diretório resources. Por exemplo, se o senhor tiver um arquivo de configuração de pipeline chamado ingestion_data_pipeline.pipeline.yml na pasta resources, deverá fornecer ingestion_data_pipeline como nome do pipeline.

<pipeline-ID> é o ID do seu pipeline. É o mesmo que você copiou como parte dos requisitos dessas instruções.

Etapa 5: Implante o site pipeline usando o novo pacote

Agora, implante o pacote pipeline em seu destino workspace usando o comando bundle deploy Databricks CLI :

databricks bundle deploy --target <target-name> --profile <profile-name>

O sinalizador --target é obrigatório e deve ser definido como uma cadeia de caracteres que corresponda a um nome de destino workspace configurado, como development ou production.

Se esse comando for bem-sucedido, o senhor agora tem a configuração do DLT pipeline em um projeto externo que pode ser carregado em outro espaço de trabalho e executado, e facilmente compartilhado com outros usuários do Databricks em seu account.

Solução de problemas

Problema

soluções

Erro “databricks.yml not found” ao executar bundle generate

Atualmente, o comando bundle generate não cria automaticamente o arquivo de configuração do pacote (databricks.yml). Você deve criar o arquivo usando databricks bundle init ou manualmente.

As configurações existentes do pipeline não correspondem aos valores da configuração YAML do pipeline gerado

A ID do pipeline não aparece no arquivo YML de configuração do pacote. Se você notar alguma outra configuração ausente, poderá aplicá-la manualmente.

Dicas para o sucesso

  • Sempre use o controle de versão. Se não estiver usando as pastas Git do Databricks, armazene os subdiretórios e arquivos do projeto em um Git ou outro repositório ou sistema de arquivos controlado por versão.

  • Teste o site pipeline em um ambiente que não seja de produção (como um ambiente de "desenvolvimento" ou "teste") antes de implantá-lo em um ambiente de produção. É fácil introduzir uma configuração incorreta por acidente.

Outros recursos

Para obter mais informações sobre o uso de pacotes para definir e gerenciar o processamento de dados, consulte: