Pular para o conteúdo principal

Converter o pipeline declarativo LakeFlow em um projeto Databricks ativo Bundle

Este artigo mostra como converter um pipeline existente em um projeto Databricks ativo Bundles . Os pacotes permitem que você defina e gerencie sua configuração de processamento de dados Databricks em um único arquivo YAML controlado pela origem, o que facilita a manutenção e permite a implantação automatizada em ambientes de destino.

Visão geral do processo de conversão

Diagrama mostrando os passos específicos na conversão de um pipeline existente em um pacote

Os passos que você toma para converter um pipeline existente em um pacote são:

  1. Certifique-se de ter acesso a um pipeline configurado anteriormente que você deseja converter em um pacote.
  2. Crie ou prepare uma pasta (de preferência em uma hierarquia controlada por fonte) para armazenar o pacote.
  3. Gere uma configuração para o pacote a partir do pipeline existente, usando o Databricks CLI.
  4. Revise a configuração do pacote gerado para garantir que esteja completa.
  5. Vincule o pacote ao pipeline original.
  6. implantou o pipeline em um workspace de destino usando a configuração do pacote.

Requisitos

Antes de começar, você deve ter:

o passo 1: Configure uma pasta para seu projeto de pacote

Você deve ter acesso a um repositório Git configurado no Databricks como uma pasta Git. Você criará seu projeto de pacote neste repositório, que aplicará o controle de origem e o disponibilizará a outros colaboradores por meio de uma pasta Git no workspace correspondente Databricks . (Para mais detalhes sobre pastas Git, veja O que são pastas Git do Databricks.)

  1. Vá para a raiz do repositório Git clonado na sua máquina local.

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

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

    Bash
    cd ~/source/my-pipelines/ingestion/events/my-bundle
  4. Inicialize um novo pacote executando:

    Bash
    databricks bundle init

    Responda às instruções. Após a conclusão, você terá um arquivo de configuração de projeto chamado databricks.yml no novo diretório inicial do seu projeto. Este arquivo é necessário para implementar seu pipeline a partir da linha de comando. Para mais detalhes sobre este arquivo de configuração, consulte Configuração do pacote ativoDatabricks.

o passo 2: Gerar a configuração pipeline

A partir deste novo diretório na árvore de pastas do seu repositório Git clonado, execute o comando Databricks CLI bundle generate, fornecendo o ID do seu pipeline como <pipeline-id>:

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

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

o passo 3: Revise os arquivos do projeto do pacote

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

  • resources este é o subdiretório do projeto que contém os arquivos de configuração do projeto.
  • src é a pasta do projeto onde 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 . Este arquivo contém a configuração e as definições específicas para seu pipeline.
  • Arquivos de origem, como consultas SQL no subdiretório src , copiados do seu pipeline existente.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│ └── {your-pipeline-name.pipeline}.yml # Pipeline configuration
└── src/
└── {source folders and files...} # Your pipeline's declarative queries

o passo 4: Vincule o pipeline do pacote ao seu pipelineexistente

Você deve vincular ou vincular a definição do pipeline no pacote ao seu pipeline existente para mantê-lo atualizado conforme você faz alterações. Para fazer isso, execute o comando bind de implantação do pacote CLI Databricks :

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

<pipeline-name> é o nome do pipeline. Este nome deve ser o mesmo que o valor das strings prefixadas do nome do arquivo para a configuração pipeline no seu novo diretório resources . Por exemplo, se você tiver um arquivo de configuração de pipeline chamado ingestion_data_pipeline.pipeline.yml na sua 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 destas instruções.

o passo 5: implemente seu pipeline usando seu novo pacote

Agora, implante seu pacote pipeline no seu workspace de destino usando o comando bundle implantado Databricks CLI :

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

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

Se esse comando for bem-sucedido, você terá sua configuração pipeline em um projeto externo que pode ser carregado em outro espaço de trabalho e execução e facilmente compartilhado com outros usuários Databricks em sua account.

Solução de problemas

Problema

soluções

Erro “databricks.yml não encontrado” ao executar bundle generate

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

As configurações do pipeline existente não correspondem aos valores na configuração YAML do pipeline gerado

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

Dicas para o sucesso

  • Sempre use controle de versão. Se você não estiver usando as pastas Git do Databricks, armazene os subdiretórios e arquivos do seu projeto em um Git ou outro repositório ou sistema de arquivos com controle de versão.
  • Teste seu pipeline em um ambiente de não produção (como um ambiente de “desenvolvimento” ou “teste”) antes de transferi-lo para um ambiente de produção. É fácil introduzir uma configuração incorreta por acidente.

Recurso adicional

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