Pular para conteúdo

🔗 Data Lineage & Catalog

Ferramenta interativa para rastrear a origem, transformação e destino dos dados no Data Lake Lavoro.


🎯 O que é Data Lineage?

Data Lineage é o rastreamento do ciclo de vida dos dados — de onde vêm, como são transformados e para onde vão. No contexto do Data Lake Lavoro, isso significa mapear:

graph LR
    A[📥 Fonte de Dados] -->|Extração| B[🥉 Bronze]
    B -->|Transformação| C[🥈 Silver]
    C -->|Agregação| D[🥇 Gold]
    D -->|Consumo| E[📊 Power BI]

    style A fill:#e3f2fd
    style B fill:#cd7f32,color:#fff
    style C fill:#c0c0c0
    style D fill:#ffd700
    style E fill:#f5f5f5

🛠️ Como Funciona

A ferramenta integra duas fontes de informação:

1. Google Cloud Data Lineage API

A API nativa do Google Cloud rastreia automaticamente:

  • Linhagem no BigQuery: Qual tabela gerou qual outra tabela
  • Transformações SQL: Quais colunas foram usadas em cada transformação
  • Dependências entre datasets: Relacionamento entre projetos

2. Análise de Código (DAGs e SQL)

Complementando a API do Google, fazemos análise do código dos DAGs para capturar:

  • Task Groups e suas dependências dentro de cada DAG
  • Templates SQL referenciados por cada task
  • Conexões entre projetos via ExternalTaskSensor

Visualização com Pyvis

A visualização final é construída com Pyvis Network, gerando grafos interativos:

  • Nós representam tabelas, views ou datasets
  • Arestas representam transformações ou dependências
  • Cores diferenciam as camadas (Bronze, Silver, Gold)
  • Interativo: Zoom, drag, hover com detalhes

📖 Como Usar

Acessando a Ferramenta

A ferramenta está disponível como uma aplicação Streamlit hospedada no Cloud Run:

🔗 Acessar Lineage & Catalog

Dica

Use o filtro por projeto para focar em um domínio específico (ex: CDP, Operações, Lakehouse).

Funcionalidades Disponíveis

Funcionalidade Descrição
Lineage Visual Grafo interativo mostrando o fluxo de dados
Catálogo de Tabelas Inventário completo com metadados
Busca por Tabela Encontre rapidamente qualquer tabela pelo nome
Filtro por Projeto Visualize lineage de um projeto específico
Detalhes de Coluna Veja tipos de dados e descrições de cada coluna

🔍 Casos de Uso Práticos

1. Investigação de Impacto

"Se eu alterar a tabela silver_cdp.protheus_cliente, quais tabelas Gold serão afetadas?"

Com o Lineage, você identifica visualmente todas as tabelas downstream que dependem dessa tabela Silver, permitindo avaliar o impacto antes de fazer alterações.

2. Debugging de Dados

"Os dados de faturamento no Power BI estão diferentes do esperado. De onde vêm esses números?"

Navegando pelo Lineage de trás pra frente (Gold → Silver → Bronze → Fonte), você localiza exatamente onde a transformação pode ter introduzido o erro.

3. Onboarding de Novos Membros

"Preciso entender como funciona o fluxo de dados de Estoque."

O Catalog oferece uma visão completa de todas as tabelas do projeto Operações, com descrições e o Lineage mostra visualmente como os dados fluem.

4. Auditoria e Compliance

"Quais fontes de dados alimentam o relatório gerencial de vendas?"

Rastreamento completo da fonte ao destino, garantindo rastreabilidade total dos dados.


📊 Catálogo de Dados

O Catálogo complementa o Lineage fornecendo metadados estruturados sobre cada tabela:

Metadado Descrição
Nome da Tabela Nome completo (dataset.tabela)
Projeto Lakehouse, CDP, Operações, Pessoas
Camada Bronze, Silver ou Gold
Descrição O que a tabela representa
Colunas Lista completa com tipos e descrições
Particionamento Campo e tipo de partição
Última Atualização Data da última carga
Tamanho Volume em GB e número de linhas

🏗️ Arquitetura Técnica

graph TB
    A[Google Data Lineage API] -->|Dados de Linhagem| C[Processamento Python]
    B[Código dos DAGs] -->|Análise de Dependências| C
    C -->|Gera Grafo| D[Pyvis Network]
    D -->|Renderiza| E[Streamlit App]
    E -->|Hospedado| F[Cloud Run]

    style C fill:#4285f4,color:#fff
    style E fill:#ff6f00,color:#fff
    style F fill:#34a853,color:#fff

Stack Tecnológico

Componente Tecnologia
Backend Python, Google Cloud Data Lineage API
Visualização Pyvis Network (grafos interativos)
Frontend Streamlit
Hospedagem Cloud Run
Dados BigQuery (metadados), Cloud Storage (cache)

Manutenção

O Lineage é atualizado automaticamente a cada execução dos DAGs de produção. O Catálogo é refreshado diariamente.