Sobre a visualização de linhagem

A linhagem de dados ajuda a entender como os dados se movem pelos sistemas, rastreando as relações entre os recursos de dados e os processos que os transformam. É possível conferir essas informações de linhagem como gráficos e listas no Google Cloud console.

Este documento oferece uma visão geral do modelo de informações de linhagem de dados, detalhes sobre a granularidade da linhagem no nível da tabela e da coluna e instruções sobre como usar visualizações de gráfico e lista para explorar a linhagem de dados.

Modelo de informações de linhagem de dados

A linhagem é um registro da transformação dos dados, desde as fontes até os destinos. A API Data Lineage coleta essas informações e as organiza em um modelo de dados hierárquico que usa os conceitos de processos, execuções e eventos.

  • Processo: uma definição de transformação de dados.
  • Execução: a realização de um processo.
  • Evento: um registro do movimento de dados durante uma execução.

Processo

Um processo é a definição de uma operação de transformação de dados para um sistema específico. Para a linhagem do BigQuery, um processo é um job de um tipo de serviço compatível. Todas as execuções da mesma consulta SQL estão vinculadas a um único processo, o que permite rastrear todas as instâncias em que uma lógica de transformação específica é usada.

Por exemplo, a consulta SQL a seguir é um processo. Essa consulta cria uma tabela contando o número total de viagens de cada fornecedor em duas tabelas de origem.

  CREATE TABLE `dataplex-docs.data_lineage_demo.total_green_trips_22_21`
  AS
  SELECT
      vendor_id,
      COUNT(*) AS number_of_trips
  FROM
      (
          SELECT vendor_id
          FROM `dataplex-docs.data_lineage_demo.nyc_green_trips_2022`
          UNION ALL
          SELECT vendor_id
          FROM `dataplex-docs.data_lineage_demo.nyc_green_trips_2021`
      )
  GROUP BY
      vendor_id;

O formato do nome do recurso REST para um processo é projects/PROJECT_NUMBER/locations/LOCATION/processes/PROCESS_ID.

Por exemplo: projects/123456789123/locations/us/processes/sh-0548bbf4ff3c8072a6c7372ba1acafb6

Para mais informações sobre o recurso process, consulte a referência do recurso Process.

Corrida

Uma execução é uma única operação de um processo. Os processos podem ter várias execuções.

Cada execução é uma operação exclusiva caracterizada por um startTime, um endTime e um estado final, como COMPLETED, FAILED ou ABORTED.

Por exemplo, executar a consulta SQL da seção "Processo" às 9h cria uma execução específica. Executar a mesma consulta novamente às 10h cria uma nova execução distinta. As duas execuções estão vinculadas ao mesmo processo pai.

O formato do nome do recurso REST para uma execução mostra que ela é filha de um processo: projects/PROJECT_NUMBER/locations/LOCATION/processes/PROCESS_ID/runs/RUN_ID.

Por exemplo: projects/123456789123/locations/us/processes/sh-0548bbf4ff3c8072a6c7372ba1acafb6/runs/83dd03a51cd2ac80f465c9e267a950b1

Para mais informações sobre o recurso run, consulte a referência do recurso Run.

Evento

Um evento representa um ponto no tempo em que uma transformação de dados move dados entre uma entidade de origem e uma de destino. Um evento é um registro granular de um movimento de dados específico que conecta tabelas de origem e de destino para uma execução específica. Um evento também pode ter várias origens e destinos.

Por exemplo, se a execução realizar a consulta SQL discutida na seção "Processo", um evento de linhagem vai registrar que as tabelas de origem nyc_green_trips_2021 e nyc_green_trips_2022 são usadas para criar a tabela de destino total_green_trips_22_21.

Um evento de linhagem contém uma lista de links que definem a origem e o destino. Os eventos são usados para criar gráficos de linhagem. Embora o Google Cloud console apresente esses gráficos de linhagem, ele não mostra eventos individuais diretamente. É possível criar, ler e excluir eventos usando a API Data Lineage, mas não é possível atualizá-los.

Cada link em um evento define um único caminho de fluxo de dados de uma entidade de origem para uma entidade de destino. Uma entidade é uma referência a um recurso de dados, como uma tabela do BigQuery, e é identificada pelo nome totalmente qualificado (FQN). Um único evento pode conter vários links, o que é comum em operações como junções de tabelas em que várias origens contribuem para um destino.

Para detalhes sobre como os eventos oferecem suporte à linhagem no nível da coluna, consulte Linhagem no nível da coluna.

Granularidade da linhagem

A linhagem de dados permite rastrear a origem e o caminho de transformação dos dados no nível da tabela e da coluna.

Linhagem no nível de tabela

A linhagem no nível de tabela oferece uma visão geral dos pipelines de dados, mostrando as relações entre tabelas inteiras. Use a linhagem no nível de tabela para tarefas de macro nível, como as seguintes:

  • Descoberta de dados. Um analista que cria um novo painel pode usar a linhagem no nível de tabela para rastrear uma tabela de resumo até as origens e confirmar se os dados são originários de um banco de dados autorizado.

  • Planejamento de migração. Um administrador de banco de dados que planeja migrar um banco de dados principal pode usar a linhagem no nível de tabela para identificar todos os relatórios e painéis downstream que dependem dele.

  • Auditoria e governança. Um administrador de dados pode usar a linhagem no nível da tabela e da coluna para verificar como os dados de uma tabela que contém informações de identificação pessoal (PII) fluem por um pipeline.

Linhagem no nível da coluna

A linhagem no nível da coluna oferece uma visualização mais granular, rastreando o fluxo de dados entre colunas individuais. Nessa visualização, os links em um evento de linhagem representam a relação entre uma coluna de origem e uma coluna de destino. Cada um desses links no nível da coluna tem um tipo de dependência que descreve a transformação:

  • Exact copy: os valores são copiados entre colunas.

  • Other: outros tipos de dependências entre colunas.

Use a linhagem no nível da coluna para tarefas como as seguintes:

  • Análise da causa raiz. Se um analista de dados encontrar um valor incorreto em uma coluna, ele poderá usar a linhagem no nível da coluna para rastreá-lo até as colunas de origem e encontrar a causa raiz.

  • Análise de impacto. Antes que um engenheiro de dados descontinue uma coluna, ele pode usar a linhagem no nível da coluna para encontrar todas as colunas downstream que dependem dela.

  • Verificação da fonte de dados para métricas. Um analista de dados pode usar a linhagem no nível da coluna para identificar quais colunas de origem são usadas para calcular uma métrica sem decifrar uma consulta SQL complexa.

A linhagem no nível da coluna é coletada automaticamente para os seguintes tipos de jobs do BigQuery:

Visualizações de linhagem no Google Cloud console

A linhagem de dados no Google Cloud console permite interagir com as informações de linhagem de duas maneiras: é possível explorar o gráfico de linhagem em várias regiões disponíveis ou usar o painel Análise de linhagem para ter uma visualização mais focada em uma região específica. Também é possível alternar entre as visualizações Gráfico e Lista para analisar o fluxo de dados em diferentes níveis de detalhes.

As visualizações de linhagem só estão disponíveis para entradas do Dataplex Universal Catalog, recursos do BigQuery e recursos da Vertex AI (modelos, conjuntos de dados, visualizações do Feature Store e grupos de recursos).

Para conferir as diferentes visualizações discutidas nesta página, consulte Usar a linhagem de dados com Google Cloud sistemas.

Visualização em gráfico de linhagem

A visualização Gráfico mostra o fluxo e as relações de recursos de dados em sistemas e regiões, ajudando a entender a arquitetura de dados, rastrear origens e destinos e identificar padrões. Esses gráficos de linhagem, gerados pelo serviço da API Data Lineage para uma entrada específica do Dataplex Universal Catalog, mostram como os dados são transformados ao longo do tempo, exibindo fluxos upstream, downstream ou ambos de uma entrada raiz selecionada.

A API Data Lineage recebe automaticamente informações de recursos de sistemas compatíveis e por chamadas de API para fontes personalizadas.

Os principais elementos do gráfico são descritos da seguinte maneira:

  • Nós. Representam as entidades de dados. Em uma visualização no nível da tabela, um nó mostra o nome da tabela e as colunas. Em uma visualização no nível da coluna, cada nó representa uma tabela e uma coluna específicas.

  • Bordas. As linhas que conectam nós e representam os processos que ocorrem entre eles. A aparência de uma borda depende da visualização de linhagem:

    • Na visualização no nível da tabela, as bordas têm ícones para indicar transformações de dados.
    • Na visualização no nível da coluna, as bordas têm rótulos para indicar transformações de dados. Por exemplo, um rótulo de borda pode dizer Exact copy para descrever como uma coluna de origem foi copiada para uma coluna de destino.
  • Ícones e rótulos de processo. Aparecem nas bordas para fornecer mais informações sobre a transformação.

    • Ícones. Representam o processo de transformação. Ao explorar o gráfico manualmente, os ícones nas bordas representam o sistema de origem do processo (por exemplo, BigQuery ou Vertex AI). Se vários processos estiverem envolvidos, um ícone de "vários processos" será mostrado. Se o sistema de origem do processo for desconhecido, um ícone de engrenagem será usado. Ao aplicar filtros, um ícone de engrenagem será usado para todos os processos.
    • Rótulos. Na visualização de linhagem no nível da coluna, um rótulo descreve o tipo de dependência entre colunas: Exact copy ou Other.

Explorar manualmente o gráfico de linhagem

Ao abrir a guia Linhagem, você verá a visualização Gráfico padrão. A visualização padrão oferece uma visão geral de alto nível em sistemas e regiões, com expansão manual e incremental de gráficos que podem carregar cinco nós por vez. Os ícones de processo nas bordas representam o sistema de origem ou indicam vários processos.

Uma visualização padrão do gráfico de linhagem mostrando recursos de dados interconectados.
Visualização padrão do gráfico de linhagem

Aplicar filtros para uma visualização de linhagem focada

Para filtrar dados de linhagem para análise focada em uma região específica, use o painel Análise de linhagem. Confira alguns critérios que podem ser usados para mudar para uma visualização focada:

  • Nome da coluna: filtre a linhagem pelo nome da coluna para conferir detalhes no nível da coluna.
  • Direção: mostre a linhagem upstream ou downstream, ou ambas.
  • Intervalo de tempo: filtre a linhagem com base em um horário de início ou término específico.
  • Tipo de dependência: filtre a linhagem no nível da coluna com base no tipo de dependência. Exemplos de opções disponíveis incluem All ou Exact copy.
O painel do explorador de linhagem mostrando filtros para linhagem no nível da coluna, direção e período.
Painel "Análise de linhagem"

A visualização focada expande automaticamente o gráfico em até três níveis, carregando toda a linhagem que corresponde aos critérios de filtro. A Análise de linhagem busca até 10 níveis do gráfico de linhagem, mas apenas os três primeiros níveis são expandidos por padrão. É possível expandir o gráfico para conferir os níveis restantes clicando nas setas.

A visualização focada oferece suporte à linhagem no nível da tabela e da coluna, incluindo a visualização do caminho de qualquer nó selecionado de volta à raiz. Nessa visualização focada, um ícone de engrenagem genérico é usado para todos os processos.

Uma visualização focada do gráfico de linhagem mostrando recursos de dados filtrados.
Visualização focada do gráfico de linhagem no nível da tabela

Para conferir a linhagem no nível da coluna, siga um destes métodos:

  • Em uma visualização Gráfico focada, clique no ícone de coluna em uma tabela para mudar para a linhagem no nível da coluna.

    Ícone usado para mudar para a linhagem no nível da coluna.
    Ícone de coluna
  • Na visualização Gráfico padrão ou focada, aplique um nome de coluna no painel Análise de linhagem.

Um gráfico de linhagem que mostra as relações no nível da coluna entre tabelas.
Visualização de linhagem no nível da coluna

Para remover todos os filtros e retornar à visualização padrão, clique em redefinir.

Detalhes do nó

Para conferir os detalhes de um nó, clique nele. Um painel lateral aparece e mostra informações detalhadas sobre o recurso de dados selecionado. Por exemplo, em uma visualização de linhagem no nível da tabela, clicar em um nó mostra informações como o nome totalmente qualificado, o tipo e outros atributos relevantes do recurso.

Painel de detalhes de um nó selecionado no gráfico de linhagem.
Detalhes do nó

Auditoria e histórico de execuções

Um gráfico de linhagem completo é o resultado de execuções de muitos jobs diferentes, com cada job criando um link específico no gráfico. Várias execuções são registradas como novas execuções, mas não mudam a aparência estática do gráfico.

Para conferir os detalhes dessas execuções individuais, clique em uma borda com um processo no gráfico. No painel Consulta que aparece, clique na guia Execuções.

O painel "Consulta" mostrando as guias "Detalhes" e "Execuções".
Painel de consulta

Inspecionar a lógica de transformação

Para entender a lógica de negócios de uma transformação sem pesquisar o código, é possível conferir a consulta SQL exata que foi executada. Para conferir o código SQL, clique em uma borda com um processo no gráfico. No painel lateral que aparece, clique na guia Detalhes.

Visualização do caminho de linhagem

A visualização do caminho de linhagem ajuda a rastrear o caminho de qualquer nó selecionado no gráfico de volta à entrada raiz. Quando você seleciona um nó e clica em Visualizar caminho, o gráfico destaca apenas os nós e processos que formam o caminho de linhagem direto para a entrada raiz.

Para conferir a visualização do caminho de linhagem, no painel Análise de linhagem, aplique um filtro para criar uma visualização Gráfico focada. Em seguida, na visualização Gráfico focada, selecione um nó. No painel de detalhes do nó selecionado, clique em Visualizar caminho.

A visualização do caminho de linhagem está disponível para linhagem no nível da tabela e da coluna. Também é possível usar a visualização do caminho de linhagem na visualização Lista.

Botão de visualização do caminho de linhagem na visualização do gráfico de linhagem no nível da coluna.
Botão de visualização do caminho de linhagem na visualização do gráfico de linhagem no nível da coluna

Visualização em lista de linhagem

A visualização Lista oferece uma representação tabular e estruturada da linhagem, sincronizada com a visualização Gráfico. Ela facilita a classificação, a filtragem e o download de recursos de dados. Essa visualização é ideal para analisar relações de origem-destino, detalhar os recursos envolvidos e exportar dados de linhagem.

A visualização Lista está disponível para linhagem no nível da tabela e da coluna. É possível alternar entre as seguintes visualizações de lista detalhadas e simplificadas.

  • Visualização simplificada em lista: essa visualização é útil para receber uma lista condensada, lista exclusiva de todos os recursos envolvidos na linhagem. As colunas como Sistema, Projeto, Entidade, FQN (nome totalmente qualificado), Direção e Profundidade ajudam a conferir todos os recursos de dados na linhagem, onde eles residem, a origem e a distância do recurso central que está sendo analisado. Ela é ideal para uma visão geral de alto nível de todas as entidades que participam do fluxo de dados. Essa é a visualização padrão.

  • Visualização detalhada em lista: essa visualização foi projetada para analisar relações de origem-destino individuais. Ao fornecer colunas separadas para Origem e Destino, é possível conferir cada link de transformação de dados específico. Essa visualização é ideal para tarefas que exigem um entendimento profundo de como os dados se movem entre pares específicos de recursos, como auditar fluxos de dados individuais, entender dependências entre tabelas ou exportar registros de linhagem detalhados para cada conexão.

Visualização em lista de linhagem no nível da tabela

Essa visualização mostra as relações entre tabelas como um todo. Use os filtros fornecidos para selecionar as colunas necessárias.

Uma tabela mostrando a visualização simplificada em lista da linhagem no nível da tabela.
Visualização simplificada em lista no nível da tabela

Expanda as seções a seguir para conferir as colunas disponíveis nas visualizações de lista no nível da tabela.

Colunas disponíveis na visualização simplificada em lista no nível da tabela

  • Sistema: o sistema em que o recurso de dados está localizado. Os exemplos incluem BigQuery.
  • Projeto: o Google Cloud ID do projeto que contém o recurso de dados.
  • Entidade: o nome do recurso de dados. Os exemplos incluem um nome de tabela.
  • FQN: o nome totalmente qualificado (FQN) da entidade ou coluna de origem.
  • Direção: indica se o recurso listado é upstream (origem) ou downstream (destino) no fluxo de linhagem.
  • Profundidade: o número de etapas de linhagem do recurso central que está sendo analisado.

Colunas disponíveis na visualização detalhada em lista no nível da tabela

  • Sistema de origem: o sistema em que o recurso de dados de origem está localizado. Os exemplos incluem o BigQuery.
  • Projeto de origem: o Google Cloud ID do projeto que contém o recurso de dados de origem.
  • Origem: o nome do recurso de dados de origem. Os exemplos incluem um nome de tabela.
  • FQN da origem: o FQN da entidade de origem.
  • Sistema de destino: o sistema em que o recurso de dados de destino está localizado. Os exemplos incluem o BigQuery.
  • Projeto de destino: o Google Cloud ID do projeto que contém o recurso de dados de destino.
  • Destino: o nome do recurso de dados de destino. Os exemplos incluem um nome de tabela.
  • FQN do destino: o FQN da entidade de destino.
  • Direção: indica se o recurso listado é upstream (origem) ou downstream (destino) no fluxo de linhagem.
  • Profundidade: o número de etapas de linhagem do recurso central que está sendo analisado.

Visualização em lista de linhagem no nível da coluna

Essa visualização mostra as relações entre colunas individuais nas tabelas de origem e de destino. Use os filtros fornecidos para selecionar as colunas necessárias.

Uma tabela mostrando a visualização em lista simplificada da linhagem no nível da coluna.
Visualização simplificada em lista no nível da coluna

Expanda as seções a seguir para conferir as colunas disponíveis nas visualizações de lista no nível da coluna.

Colunas disponíveis na visualização simplificada em lista no nível da coluna

  • Sistema: o sistema em que o recurso de dados está localizado. Os exemplos incluem BigQuery.
  • Projeto: o Google Cloud ID do projeto que contém o recurso de dados.
  • Entidade: o nome do recurso de dados. Os exemplos incluem um nome de tabela.
  • Coluna: a coluna específica escolhida no painel Análise de linhagem na entidade.
  • FQN: o nome totalmente qualificado (FQN) da entidade de origem ou coluna.
  • Direção: indica se o recurso listado é upstream (origem) ou downstream (destino) no fluxo de linhagem.
  • Profundidade: o número de etapas de linhagem do recurso central que está sendo analisado.

Colunas disponíveis na visualização detalhada em lista no nível da coluna

  • Sistema de origem: o sistema em que o recurso de dados de origem está localizado.
  • Projeto de origem: o Google Cloud ID do projeto que contém o recurso de dados de origem.
  • FQN da origem: o FQN da coluna de origem.
  • Sistema de destino: o sistema em que o recurso de dados de destino está localizado.
  • Projeto de destino: o Google Cloud ID do projeto que contém o recurso de dados de destino.
  • FQN do destino: o FQN da coluna de destino.
  • Direção: indica se o fluxo de dados é upstream ou downstream.
  • Tipos de dependência: descreve a natureza da relação entre as colunas.
  • Profundidade: o número de etapas de linhagem do recurso central que está sendo analisado.

A seguir