Integração OpenLineage: Unindo Padrões Abertos ao Exactly Information Integrity Suite



physique.orbit:not(.legacy-content) .pageblock .elementor-widget-container:has(> desk) { largura máxima: 100%; overflow-x: não definido; raio da borda: 0px; sombra da caixa: nenhuma; } physique.orbit:not(.legacy-content) .pageblock tabela tr:first-child td { cor de fundo: #8017e1 !vital; cor: #fff !importante; } physique.orbit:not(.legacy-content) .pageblock tabela tbody > tr:nth-child(2n+1) > td { cor de fundo: transparente; } physique.orbit tbody tr:nth-child(odd) { cor de fundo: #f7f8fa; } physique.orbit h2 {margem superior: 50px; }

Principais conclusões

  • Conecte qualquer orquestrador compatível com OpenLineage ao Exactly Information Integrity Suite em minutos – sem necessidade de conector personalizado.
  • A linhagem em nível de conjunto de dados e em nível de coluna são capturadas automaticamente com base na carga útil do evento.
  • A linhagem está sempre completa: quando um conjunto de dados ainda não foi descoberto formalmente, o catálogo cria espaços reservados e os enriquece automaticamente quando a descoberta é executada.

Os pipelines de dados nunca foram tão complexos. As equipes de dados modernas executam cargas de trabalho em uma combinação crescente de ferramentas de orquestração — Airflow, Spark, dbt, Dagster — e cada nova ferramenta tradicionalmente significava um novo conector personalizado apenas para capturar a linhagem.

O resultado é visibilidade fragmentada, integrações frágeis e gráficos de linhagem que ficam obsoletos no momento em que a versão da ferramenta é alterada. Existe uma maneira melhor e, na Precisamente, enfrentamos esse desafio diretamente.

Por que os conectores de linhagem personalizados impedem as equipes de dados

A captura de linhagem tradicional requer um conector dedicado para cada ferramenta de orquestração: um para Dagster, um para Airflow, um para dbt, um para Spark. Cada conector evolui de acordo com seu próprio cronograma, interrompe as atualizações de versão e multiplica a carga de manutenção a cada nova ferramenta adicionada.

Resolvemos isso construindo o Precisamente Information Integrity Suite falar uma linguagem que os orquestradores já entendem: OpenLineage.

O que é OpenLineage e por que ele é importante para as equipes de dados?

OpenLineage é um padrão aberto para coleta de metadados e linhagens projetado para instrumentar trabalhos enquanto eles são executados. Quando um trabalho de pipeline é executado, o orquestrador emite uma carga útil de evento estruturado para qualquer ponto remaining HTTP que suporte o protocolo.

Como o padrão é independente de ferramentas e mantido pela comunidade, ele alcançou ampla adoção em toda a pilha de dados moderna. Em vez de manter conectores proprietários, as equipes obtêm cobertura de linhagem que cresce automaticamente à medida que o ecossistema evolui.

Todas as principais ferramentas de orquestração vêm com suporte integrado ou têm uma integração madura com a comunidade:

FerramentaSuporte OpenLineage
punhalIntegrado through openlineage-dagster
Fluxo de ar ApacheIntegrado through apache-airflow-providers-openlineage
DBTIntegrado through integração OpenLineage dbt-core
Apache FaíscaIntegração OpenLineage Spark (linhagem automática de colunas)
Apache FlinkIntegração OpenLineage Flink
Trino / StarburstIntegração OpenLineage Trino

Se sua equipe usar qualquer uma dessas ferramentas, você estará a uma mudança de configuração da captura automática de linhagem.

Integração OpenLineage: Unindo Padrões Abertos ao Exactly Information Integrity Suite

Conectando seu orquestrador

Como você conecta um orquestrador ao Precisly Information Integrity Suite?

Configure seu orquestrador para enviar eventos para o Exactly API Gateway:

Ponto remaining: POST /v2/catalog/linhagem

Autenticação: Chave de API ou token de portador das credenciais do seu workspace

RegiãoValor
NÓShttps://api.cloud.exactly.com
UEhttps://api.eu1.cloud.exactly.com
GBhttps://api.gb1.cloud.exactly.com
UAhttps://api.au1.cloud.exactly.com

 

exemplo openlineage.yml:

exemplo openlineage.yml

Nenhuma configuração adicional é necessária no lado do catálogo. Os eventos aparecem assim que a próxima execução do pipeline for concluída.

Como os eventos fluem

Data Integrity Suite Open Lineage Ingestão e Fluxo de Processo - Precisamente

O endpoint reconhece cada evento imediatamente e os processa de forma assíncrona – seu orquestrador nunca fica bloqueado aguardando gravações do catálogo.

O que acaba no catálogo

Depois que uma execução de pipeline for concluída, você obterá:

  • Ativos de trabalho de transformação pesquisáveis ​​e navegáveis ​​para cada execução de pipeline
  • Bordas de linhagem conectando conjuntos de dados de origem e destino
  • Linhagem completa em nível de coluna com rótulos de transformação
  • Ativos de espaço reservado que são atualizados para ativos totalmente enriquecidos quando a descoberta é executada

O mapeamento conceitual do catálogo

Conceito OpenLineageConceito de catálogo
Trabalho (namespace + nome)Um recurso de trabalho de transformação, pesquisável e navegável
Executar (ID de execução exclusivo)Rastreado para auditoria
Conjunto de dados (namespace + nome)Um ativo de catálogo existente ou um espaço reservado
Entrada → Borda de saídaUma relação de linhagem
FacetasPropriedades dos ativos: esquema, propriedade, qualidade dos dados, documentos

O que acontece quando um conjunto de dados ainda não foi descoberto?

Os pipelines geralmente são executados antes da conclusão da descoberta formal da fonte de dados. Em vez de eliminar limites de linhagem, o catálogo cria ativos de espaço reservado — entradas de catálogo totalmente navegáveis ​​com metadados de proveniência do evento. Quando a descoberta for executada posteriormente, o espaço reservado será enriquecido com metadados coletados; nenhuma borda de linhagem precisa ser reconstruída.

Isso significa que a linhagem está completa desde o primeiro dia, mesmo em ambientes onde as fontes de dados ainda estão sendo catalogadas. As equipes podem confiar no gráfico sem esperar pela cobertura completa da descoberta.

⚠ Dica profissional: A correspondência do identificador do conjunto de dados/campo é exata. Uma diferença de maiúsculas e minúsculas, uma porta ausente ou uma incompatibilidade de prefixo de domínio faz com que o catálogo crie um espaço reservado em vez de vincular a um ativo existente. Verifique o namespace e o formato do nome do produtor OpenLineage em relação às configurações de conexão do catálogo antes de ativar a captura de linhagem de produção.

Linhagem em nível de coluna

Como funciona a linhagem em nível de coluna?

A linhagem em nível de conjunto de dados responde qual tabela alimenta qual tabela. A linhagem em nível de coluna responde qual coluna, transformada como, produz qual coluna de saída – permitindo análise de causa raiz e avaliação de impacto de mudança.

A linhagem em nível de coluna viaja na faceta Linhagem da coluna de um evento COMPLETE. Ferramentas como Spark e dbt emitem isso automaticamente.

A linhagem em nível de coluna viaja na faceta Linhagem da coluna de um evento COMPLETE

Trabalho de transformação: contexto de transformação completo

Cada relação de linhagem de coluna está vinculada a um Trabalho de transformação ativo que captura:

PropriedadeO que isso lhe diz
NomeO pipeline que produziu esse mapeamento de coluna
Tipo/SubtipoCategoria de transformação (por exemplo, AGREGAÇÃO/SOMA, IDENTIDADE, TRANSFORMAÇÃO)
Coluna mascaradaSe o valor de origem foi mascarado ou anonimizado
ID de execuçãoA corrida específica que gerou esta linhagem
Espaço para nomeO ambiente do orquestrador (por exemplo, dagster-prod)
Hora do EventoQuando a execução do pipeline for concluída
ProdutorQual ferramenta emitiu o evento

Gráfico Inteligente: Sem Caminhos Duplicados

Quando a linhagem em nível de coluna é totalmente resolvível para um par origem-destino, o catálogo armazena apenas relações em nível de coluna. A linhagem em nível de conjunto de dados para esses pares é inferido automaticamente por rollup – para que ambas as visualizações apareçam na IU sem arestas duplicadas no gráfico. Para orquestradores que não emitem columnLineage, o catálogo volta à linhagem no nível do conjunto de dados.

Resiliência parcial a eventos

Os mapeamentos de colunas resolvíveis são capturados imediatamente. Os não resolvidos (referenciando colunas ainda não descobertas) são tentados novamente após a descoberta. Um mapeamento de coluna incompleto nunca bloqueia a linhagem no nível do conjunto de dados ou os metadados de qualidade de dados para o mesmo evento.

Confiabilidade com a qual você pode contar

Repetições seguras: O reenvio do mesmo evento não tem efeito. As relações de linhagem não são duplicadas, os ativos do Trabalho de Transformação não são recriados e os metadados não são substituídos.

Isso é mais importante do que pode parecer. Na prática, os orquestradores de pipeline tentam novamente em caso de falha, os sistemas CI/CD reproduzem trabalhos durante a implantação e os procedimentos de recuperação de desastres executam novamente eventos históricos. Sem manipulação de eventos idempotentes, cada um desses cenários corre o risco de corromper o gráfico de linhagem com arestas duplicadas ou metadados obsoletos. O Exactly Information Integrity Suite processa cada evento exatamente uma vez, independentemente de quantas vezes ele for recebido.

Qualquer ferramenta que emita cargas OpenLineage RunEvent padrão para um endpoint HTTP funcionará.

Resumo

CapacidadeDetalhe
✓ Integração de conector zeroQualquer ferramenta compatível com OpenLineage se conecta a uma URL e um token
✓ Linhagem do conjunto de dadosRelações de linhagem automáticas de cada evento de pipeline COMPLETE
✓ Linhagem da colunaLinhagem em nível de campo com tipo de transformação, subtipo, descrição e contexto de mascaramento
✓ Ativos de espaço reservadoA linhagem está completa desde o primeiro dia, mesmo antes da descoberta ser executada
✓ Enriquecimento de metadadosEsquema, propriedade, fonte de dados e documentação das facetas do OpenLineage
✓ Novas tentativas segurasEventos duplicados ou repetidos nunca corrompem o estado do catálogo
✓ Ativos de TransformaçãoJobTrilha completa de proveniência do que transformou cada coluna e quando

Os pipelines de dados são tão confiáveis ​​quanto a linhagem por trás deles. Ao construir sobre um padrão aberto que a pilha de dados moderna já fala, o Precisamente Information Integrity Suite torna automática a linhagem precisa, consistente e contextual, para que suas equipes possam agir rapidamente sem questionar a origem dos dados.

_____________________________________________________________________

Perguntas frequentes

P. O OpenLineage funciona com meu orquestrador existente?

R. Se o seu orquestrador for Airflow, Spark, dbt, Dagster, Flink ou Trino/Starburst, o suporte da comunidade integrado ou maduro estará disponível. A configuração é uma única alteração YAML apontando para o endpoint da API Precisamente. Se sua ferramenta não estiver nesta lista, qualquer ferramenta que emita cargas úteis OpenLineage RunEvent padrão por HTTP também funcionará sem modificação.

P. O que acontece se um conjunto de dados ainda não tiver sido descoberto?

R. O catálogo cria um ativo de espaço reservado com metadados de proveniência do evento, mantendo intactas as bordas da linhagem. Quando a descoberta for executada posteriormente, o espaço reservado será automaticamente enriquecido com metadados completos. Nenhuma linhagem precisa ser reconstruída.

P. A linhagem em nível de conjunto de dados ainda está disponível quando a linhagem em nível de coluna é capturada?

R. Sim. Quando a linhagem em nível de coluna pode ser resolvida, a linhagem em nível de conjunto de dados é inferida automaticamente pelo rollup para que ambas as visualizações estejam disponíveis na interface do usuário do catálogo. Não há arestas duplicadas no gráfico.

P. O que acontece se um evento for reenviado ou reproduzido?

R. Nada muda no catálogo. Os eventos são processados ​​de forma idempotente – o reenvio do mesmo evento não cria relações de linhagem duplicadas, recria ativos de Trabalho de Transformação ou sobrescreve metadados existentes.

A postagem Integração OpenLineage: Unindo Padrões Abertos ao Exactly Information Integrity Suite apareceu primeiro em Precisamente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *