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
Os passos que você toma para converter um pipeline existente em um pacote são:
- Certifique-se de ter acesso a um pipeline configurado anteriormente que você deseja converter em um pacote.
- Crie ou prepare uma pasta (de preferência em uma hierarquia controlada por fonte) para armazenar o pacote.
- Gere uma configuração para o pacote a partir do pipeline existente, usando o Databricks CLI.
- Revise a configuração do pacote gerado para garantir que esteja completa.
- Vincule o pacote ao pipeline original.
- implantou o pipeline em um workspace de destino usando a configuração do pacote.
Requisitos
Antes de começar, você deve ter:
- O Databricks CLI instalado na sua máquina de desenvolvimento local. CLI Databricks versão 0.218.0 ou acima é necessária para usar os pacotes ativos Databricks .
- O ID de um pipeline declarativo existente que você gerenciará com um pacote. Para saber como obter esse ID, consulte Obter uma definição de pipeline existente usando a interface do usuário.
- Autorização para o workspace Databricks onde o pipeline existente é executado. Para configurar a autenticação e a autorização para suas chamadas CLI Databricks , consulte Autorizando acesso ao recurso Databricks.
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.)
-
Vá para a raiz do repositório Git clonado na sua máquina local.
-
Em um local apropriado na hierarquia de pastas, crie uma pasta específica para seu projeto de pacote. Por exemplo:
Bashmkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
-
Altere seu diretório de trabalho atual para esta nova pasta. Por exemplo:
Bashcd ~/source/my-pipelines/ingestion/events/my-bundle
-
Inicialize um novo pacote executando:
Bashdatabricks 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>
:
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órioresources
. 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 :
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 :
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 “ | Atualmente, o comando |
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:
- Consulte O que são Pacotes de Ativos do Databricks?
- Desenvolva pipeline declarativo LakeFlow com Databricks ativo Bundles. Este tópico aborda a criação de um pacote para um novo pipeline em vez de um existente, com arquivos de origem controlados por versão para processamento que você fornece.