Pular para o conteúdo principal

Crie um pipeline declarativo LakeFlow com dlt-meta

Este artigo apresenta o dlt-meta, um projeto doDatabricks Labs que fornece ferramentas para gerar um pipeline declarativo LakeFlow a partir de metadados que você mantém.

nota

O projeto código aberto dlt-meta, como todos os projetos na account GitHub databrickslabs, existe apenas para fins de exploração. Databricks não oferece suporte nem fornece acordo de nível de serviço (SLAs) para ele. Não envie tickets de suporte do Databricks para problemas relacionados a este projeto. Em vez disso, registre um problema no GitHub, que será analisado conforme o tempo permitir.

O que é dlt-meta?

O pipeline declarativo LakeFlow permite que você especifique uma tabela declarativamente e gere um fluxo em um pipeline que cria a tabela e a mantém atualizada conforme os dados de origem mudam. No entanto, se sua organização tiver centenas de tabelas, gerar e gerenciar esses pipelines consumirá tempo e poderá levar a práticas inconsistentes.

O projeto dlt-meta é uma estrutura de metaprogramação orientada por metadados, projetada para funcionar com o pipeline declarativo LakeFlow . Esta estrutura permite a automação de pipelines de dados bronze e prata aproveitando metadados registrados em um conjunto de arquivos JSON e YAML. O mecanismo dlt-meta usa código Python para gerar dinamicamente código de pipeline declarativo LakeFlow para os fluxos descritos em seus metadados. Você gera os metadados sobre seu pipeline, e o dlt-meta gera seu pipeline.

Com sua lógica centralizada em um só lugar (os metadados), seu sistema fica mais rápido, reutilizável e mais fácil de manter.

nota

O projeto dlt-meta foi nomeado em homenagem ao antigo recurso Delta Live Tables do Databricks. Delta Live Tables foi substituído pelo pipeline declarativo LakeFlow , e o dlt-meta funciona com o pipeline declarativo LakeFlow .

Benefícios do dlt-meta

Existem dois casos principais de uso para dlt-meta:

  • Ingira e limpe um grande número de tabelas de forma simples.
  • Aplique padrões de engenharia de dados em vários pipelines e usuários.

Os benefícios de usar uma abordagem baseada em metadados incluem:

  • A manutenção de metadados pode ser feita sem conhecimento de código Python ou SQL.
  • Manter metadados, em vez do código, requer menos sobrecarga e reduz erros.
  • O código é gerado pelo dlt-meta, portanto ele permanece consistente e tem menos código personalizado no pipeline e nas tabelas publicadas.
  • Você pode facilmente agrupar tabelas em pipeline dentro dos metadados, gerando o número de pipelines necessários para atualizar seus dados com mais eficiência.

Como funciona?

A imagem a seguir mostra uma visão geral do sistema dlt-meta:

Visão geral do dlt-meta

  1. Você cria os arquivos de metadados como entrada para dlt-meta, para especificar seus arquivos de origem e saídas, regras de qualidade e processamento necessário.
  2. O mecanismo dlt-meta compila os arquivos de integração em uma especificação de fluxo de dados, chamada DataflowSpec , e os armazena para uso posterior.
  3. O mecanismo dlt-meta usa o DataflowSpec para criar um pipeline que gera suas tabelas bronze. Isso usa seus arquivos de metadados para ler os dados de origem e aplicar as expectativas de dados corretas para corresponder às suas regras de qualidade.
  4. O mecanismo dlt-meta usa o DataflowSpec para criar um pipeline adicional que gera suas tabelas prateadas. Isso usa seus arquivos de metadados para aplicar as transformações apropriadas e outros processamentos para seu sistema.

Você executa o pipeline gerado pelo dlt-meta para manter a saída atualizada conforme seus dados de origem são atualizados.

Como faço para começar?

Para usar o dlt-meta, você deve:

  • implantei e configurei as soluções dlt-meta.
  • Prepare os metadados para suas tabelas de camadas bronze e prata.
  • Crie um trabalho para integrar os metadados.
  • Use os metadados para criar um pipeline para suas tabelas.

A documentação do dlt-meta no GitHub tem um tutorial para ajudar você a começar esse processo. Para obter mais informações, consulte começando com dlt-meta no GitHub.

Recurso adicional