Acerca da linhagem de dados

A linhagem de dados ajuda a monitorizar a forma como os dados se movem nos seus sistemas. Pode ver a origem, os destinos e as transformações aplicadas a um recurso de dados.

Pode ver informações de linhagem na Google Cloud consola para ativos do Dataplex Universal Catalog, BigQuery e Vertex AI, ou pode obtê-las através da API Data Lineage.

Por que motivo precisa da linhagem de dados

Muitas vezes, os grandes conjuntos de dados requerem a transformação de dados em vários formatos para projetos específicos, como ficheiros de texto, tabelas, relatórios, painéis de controlo e modelos.

Por exemplo, uma loja online pode ter um pipeline de dados com o seguinte fluxo:

  1. Uma tarefa do Dataflow lê eventos de compra não processados de um tópico do Pub/Sub, detalhes dos produtos de ficheiros do Cloud Storage e informações dos clientes de uma tabela do BigQuery. A tarefa junta estas informações e cria uma tabela purchases no BigQuery.

  2. As tarefas subsequentes do BigQuery transformam a tabela purchases para criar tabelas agregadas mais pequenas, como region ou brand, e calcular novas colunas, como total_profit.

  3. Os analistas usam estas tabelas para gerar relatórios e painéis de controlo no Looker.

Este cenário comum pode apresentar vários desafios:

  • Os consumidores de dados não têm um método de autosserviço para verificar se os dados têm origem numa fonte autorizada.

  • Os engenheiros de dados têm dificuldade em encontrar a causa principal dos problemas porque não conseguem acompanhar de forma fiável todas as transformações de dados. Por exemplo, se um analista encontrar um erro numa coluna total_profit, é difícil rastrear o erro até à sua origem.

  • Os engenheiros e analistas de dados não podem avaliar totalmente o potencial impacto da modificação ou eliminação de tabelas. Por exemplo, antes de descontinuar uma coluna, têm de identificar todas as colunas a jusante dependentes para evitar a interrupção dos relatórios.product_id

  • Os administradores de dados não têm visibilidade sobre a forma como os dados confidenciais são usados em toda a organização, o que dificulta a garantia da conformidade com os requisitos regulamentares.

A linhagem de dados resolve estes problemas fornecendo um mapa visual claro do percurso dos seus dados. Com a linhagem de dados, pode fazer o seguinte:

  • Compreenda como os dados são obtidos e transformados através de gráficos de linhagem.

  • Rastreie erros nas entradas de dados e nas operações até às respetivas causas principais.

  • Ative uma melhor gestão de alterações através da análise de impacto para evitar o tempo de inatividade ou erros inesperados, compreender as dependências e colaborar com as partes interessadas.

Fluxo de trabalho de linhagem de dados

O fluxo de trabalho de linhagem de dados inclui os seguintes passos:

  1. Origens de dados e carregamento: as informações de linhagem das suas origens de dados iniciam todo o processo. Para mais informações, consulte o artigo Fontes de linhagem.

    • Google Cloud serviços: quando a API Data Lineage está ativada, os serviços suportados, como o BigQuery e o Dataflow, comunicam automaticamente eventos de linhagem sempre que os dados são movidos ou transformados.

    • Origens personalizadas: para quaisquer sistemas não suportados automaticamente por Google Cloud integrações, pode usar a API Data Lineage para registar manualmente informações de linhagem. Recomendamos que importe eventos formatados de acordo com a norma OpenLineage.

  2. Plataforma de linhagem: esta plataforma centralizada carrega, modela e armazena todos os dados de linhagem. Para mais informações, consulte o artigo Modelo de informações de linhagem e granularidade.

    • API Data Lineage: esta API funciona como o único ponto de entrada para todas as informações de linhagem recebidas. Usa um modelo de dados hierárquico composto por três conceitos principais: processo, execução e evento.

    • Tratamento e armazenamento: a plataforma trata os dados recebidos e armazena-os em bases de dados fiáveis e otimizadas para consultas.

  3. Experiência do utilizador: pode interagir com as informações de linhagem armazenadas de duas formas principais:

    • Exploração visual: na Google Cloud consola, um serviço de front-end obtém e renderiza os dados de linhagem como um gráfico ou uma lista interativa. Isto é suportado para o catálogo universal do Dataplex, o BigQuery e o Vertex AI (para modelos, conjuntos de dados, visualizações de propriedade do repositório de funcionalidades e grupos de funcionalidades). Isto é ideal para explorar visualmente o percurso dos seus dados. Para mais informações, consulte o artigo Vistas de linhagem na Google Cloud consola.

    • Acesso programático: através de um cliente da API, pode comunicar diretamente com a API Data Lineage para automatizar a gestão da linhagem. Isto permite-lhe escrever informações de linhagem a partir de origens personalizadas. Também lhe permite ler e consultar os dados de linhagem armazenados para utilização noutras aplicações ou para criar relatórios personalizados.

Origens da linhagem

Pode preencher informações de linhagem no Dataplex Universal Catalog das seguintes formas:

  • Automaticamente a partir de Google Cloud serviços integrados
  • Manualmente, através da API Data Lineage para origens personalizadas
  • Ao importar eventos do OpenLineage

Monitorização automatizada da linhagem de dados

Quando ativa a API Data Lineage, Google Cloud os sistemas que suportam a linhagem de dados começam a comunicar o respetivo movimento de dados. Cada sistema integrado pode enviar informações de linhagem para um intervalo diferente de origens de dados.

BigQuery

Quando ativa a linhagem de dados no seu projeto do BigQuery, o catálogo universal do Dataplex regista automaticamente informações de linhagem para o seguinte:

As tarefas de cópia, consulta e carregamento do BigQuery são representadas como processos.

Para ver os detalhes do processo, no gráfico de linhagem, clique em .

Cada processo contém o job_id do BigQuery na lista de atributos para a tarefa do BigQuery mais recente.

Outros serviços

A linhagem de dados suporta a integração com os seguintes Google Cloud serviços:

Linha de dados para origens de dados personalizadas

Pode usar a API Data Lineage para registar manualmente informações de linhagem para qualquer origem de dados que não seja suportada pelos sistemas integrados.

O Dataplex Universal Catalog pode criar gráficos de linhagem para linhagem registada manualmente se usar um fullyQualifiedName que corresponda aos nomes totalmente qualificados das entradas existentes do Dataplex Universal Catalog. Se quiser registar a linhagem de uma origem de dados personalizada, primeiro tem de criar uma entrada personalizada.

Cada processo para uma origem de dados personalizada pode conter uma chave sql na lista de atributos. O valor desta chave é usado para renderizar um realce de código no painel de detalhes do gráfico de linhagem de dados. A declaração SQL é apresentada tal como foi fornecida. É responsável por filtrar as informações confidenciais. O nome da chave sql é sensível a maiúsculas e minúsculas.

OpenLineage

Se já usar o OpenLineage para recolher informações de linhagem de outras origens de dados, pode importar eventos do OpenLineage para o catálogo universal do Dataplex e ver estes eventos na consola. Google Cloud Para mais informações, consulte o artigo Integre com o OpenLineage.

Limitações

Seguem-se as limitações da linhagem de dados:

  • Todas as informações de linhagem são retidas no sistema apenas durante 30 dias.

  • As informações de linhagem persistem depois de eliminar a origem de dados relacionada. Por exemplo, se eliminar uma tabela do BigQuery, pode continuar a ver a respetiva linhagem através da API e da consola durante um período máximo de 30 dias.

Limitações da linhagem ao nível da coluna

A linhagem ao nível da coluna tem as seguintes limitações adicionais:

  • A linhagem ao nível da coluna não é recolhida para tarefas de carregamento do BigQuery nem para rotinas.

  • A linhagem ao nível da coluna a montante não é recolhida para tabelas externas.

  • A linhagem ao nível da coluna não é recolhida se uma tarefa criar mais de 1500 associações ao nível da coluna. Nestes casos, apenas é recolhida a linhagem ao nível da tabela.

  • Não existe uma API para criar, ler, atualizar, eliminar ou pesquisar a linhagem ao nível da coluna.

  • O suporte para tabelas particionadas é limitado, porque as colunas de partição, como _PARTITIONDATE e _PARTITIONTIME, não são reconhecidas no gráfico de linhagem.

  • Limitações da consola:

    • A travessia do gráfico de linhagem está limitada a uma profundidade de 20 níveis e 10 000 links em cada direção.

    • A linhagem ao nível da coluna só é obtida a partir da região onde a tabela raiz se encontra. Não existe suporte para a linhagem entre regiões na vista de gráfico.

Preços

  • O Dataplex Universal Catalog usa o SKU de processamento premium para cobrar pela linhagem de dados. Para mais informações, consulte a secção Preços.

  • Para separar os encargos de linhagem de dados de outros encargos na SKU de processamento premium do Dataplex Universal Catalog, no relatório de faturação do Google Cloud, use a etiqueta goog-dataplex-workload-type com o valor LINEAGE.

  • Se chamar a API Data Lineage Origin sourceType com um valor diferente de CUSTOM, incorre em custos adicionais.

O que se segue?