Crie pipelines com dlt-meta

O dlt-meta projeto da Databricks Labs fornece ferramentas para gerar pipelines a partir dos metadados que mantém.

Observação

O projeto dlt-meta de código aberto, como todos os projetos na conta do GitHub databrickslabs, existe apenas para fins de exploração. O Azure Databricks não oferece suporte a ele nem fornece contratos de nível de serviço (SLAs) para ele. Não submeta pedidos de suporte do Azure Databricks para problemas relacionados com este projeto. Em vez disso, abre uma issue no GitHub, que será analisada à medida que houver disponibilidade.

O que é dlt-meta?

Lakeflow Spark Declarative Pipelines permite especificar declarativamente uma tabela e gera um fluxo em um pipeline que cria a tabela e a mantém atualizada à medida que os dados de origem mudam. No entanto, se sua organização tiver centenas de tabelas, gerar e gerenciar esses pipelines é demorado e pode levar a práticas inconsistentes.

O projeto dlt-meta é uma estrutura de metaprogramação orientada por metadados projetada para trabalhar com Lakeflow Spark Declarative Pipelines. Essa estrutura permite a automação de pipelines de dados bronze e silver 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 para os fluxos descritos em seus metadados. Gera os metadados dos seus pipelines, e o dlt-meta gera os seus pipelines.

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

Observação

O projeto dlt-meta foi nomeado para o recurso Delta Live Tables mais antigo no Azure Databricks. O Delta Live Tables foi substituído pelo Lakeflow Spark Declarative Pipelines, e o dlt-meta funciona com o Lakeflow Spark Declarative Pipelines.

Benefícios do dlt-meta

Existem dois casos de uso principais para dlt-meta:

  • Ingerir e limpar um grande número de mesas de forma simples.
  • Aplique padrões de engenharia de dados em vários pipelines e usuários.

Os benefícios do uso de uma abordagem orientada por metadados incluem:

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

Como funciona o dlt-meta

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 armazena-os para uso posterior.
  3. O motor dlt-meta utiliza o DataflowSpec para criar pipelines que geram as suas tabelas de 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. Em seguida, o mecanismo dlt-meta usa o DataflowSpec para criar pipelines adicionais que geram suas tabelas prateadas. Isso usa seus arquivos de metadados para aplicar as transformações apropriadas e outros processamentos para o seu sistema.

Você executa os pipelines gerados pelo dlt-meta para manter a saída atualizada à medida que seus dados de origem são atualizados.

Introdução

Para usar o dlt-meta, você deve:

  • Implante e configure a solução dlt-meta.
  • Prepare os metadados para as suas tabelas das camadas de bronze e de prata.
  • Crie um trabalho para integrar os metadados.
  • Utilize os metadados para criar pipelines para as suas tabelas.

A documentação dlt-meta no GitHub tem um tutorial para ajudá-lo a começar com esse processo. Para obter mais informações, consulte Introdução ao dlt-meta no GitHub.

Recursos adicionais