Pular para o conteúdo principal

Converter o pipeline declarativo LakeFlow em um projeto de pacote ativo Databricks

Este artigo mostra como converter um pipeline existente em um projeto Databricks ativo Bundles. 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. Implantado 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

É necessário 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á para outros colaboradores por meio de uma pasta Git no Databricks workspace correspondente. (Para obter mais detalhes sobre pastas Git, consulte O que são pastas Git do 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:

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

    Bash
    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 Git na árvore de pastas do repositório clonado, execute Databricks CLI o comando bundle generate comando, fornecendo o ID do pipeline seu <pipeline-id> como:

Bash
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 do seu pipeline.
  • Arquivos de origem, como consultas SQL, no subdiretório src, copiados do pipeline 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: vincular 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 Databricks CLI o comando bundle deployment bind:

Bash
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 pipeline pacote em seu destino workspace usando o Databricks CLI comando bundle implantado:

Bash
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 terá sua configuração do 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.

Recurso adicional

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