Resolver problemas de linhagem de dados

Este documento ajuda você a solucionar e resolver os problemas mais comuns com os gráficos de linhagem de dados do Knowledge Catalog (antigo Dataplex Universal Catalog) que não aparecem. A resolução desses problemas garante que você possa rastrear a movimentação de dados, entender as origens dos dados e depurar pipelines de dados.

Tipos de projeto

Os recursos de dados podem residir em projetos diferentes. Confira a seguir um resumo dos projetos possíveis e dos nomes dos recursos.

Projeto de armazenamento do BigQuery

Esse projeto armazena seus recursos de dados do BigQuery. Ele pode ser encontrado nos detalhes do recurso como parte do Table ID, antes do primeiro ponto.

Na interface do BigQuery, o nome do projeto de armazenamento é mostrado no campo "ID da tabela", antes do primeiro ponto no nome totalmente qualificado da tabela.
Figura 1. O nome de um projeto de armazenamento do BigQuery.

Projeto do Compute

Esse projeto armazena os metadados de linhagem de dados. No BigQuery, é aqui que você executa um job. Se você executar um job usando o Google Cloud console, poderá encontrar o nome do projeto do Compute no seletor de projetos:

A interface do BigQuery mostra um projeto de computação chamado "docs-compute" na página em que você executa consultas SQL.
Figura 2. O nome de um projeto do Compute que executa jobs do BigQuery.

Ao enviar solicitações para a API BigQuery, especifique o projeto do Compute no URL, por exemplo:

POST /bigquery/v2/projects/docs-compute/jobs HTTP/1.1
Host: bigquery.googleapis.com
User-Agent: Go-http-client/1.1
Authorization: <REDACTED 1031 BYTES>
Accept-Encoding: gzip
{
  "configuration": {
    "query": {
      "useLegacySql": false,
      "query": "CREATE OR REPLACE TABLE `docs-target.dataset.target-002` AS SELECT * FROM `docs-source.dataset.source-002`;"
    }
  },
  "jobReference": {
    "projectId": "docs-compute",
    "jobId": "docs-compute-job-id",
    "location": "us",
  }
}

Projeto ativo

É o projeto em que você está visualizando a linhagem de dados. O Google Cloud console mostra o projeto ativo no seletor de projetos. Se você estiver usando a API, o projeto ativo será aquele em que você está fazendo chamadas de API.

A interface do BigQuery mostra a linhagem de dados de um conjunto de dados chamado &quot;source-001&quot;, que está em um projeto chamado &quot;docs-source&quot;.
Figura 3. O projeto ativo no Google Cloud console.

A linhagem de dados do BigQuery não aparece

O problema a seguir ocorre após a execução de um job do BigQuery. Nesse caso, o problema pode ser causado por três cenários:

  • A API Data Lineage está desativada no projeto ativo ou no projeto do Compute.
  • Você não tem o papel de Leitor de linhagem de dados (roles/datalineage.viewer) no projeto ativo ou no projeto do Compute.
  • A linhagem de dados ainda não chegou. Dependendo do volume e da complexidade dos dados que estão sendo processados, a linhagem de dados pode levar de 30 minutos a 24 horas para aparecer.

Se você vir a mensagem "A busca da linhagem falhou devido à ausência de permissões" na parte de baixo da página, é porque você não tem permissões no projeto ativo. Caso contrário, você não tem permissões no projeto do Compute.

Um gráfico de linhagem vazio.
Figura 4. Exemplo de linhagem que não aparece na interface do BigQuery.

Para resolver esse problema, verifique se a API Data Lineage está ativada para o projeto do Compute. Depois de ativar a API, você precisa executar um job para conferir a linhagem de dados. Dependendo do volume e da complexidade dos dados que estão sendo processados, a linhagem de dados pode levar de 30 minutos a 24 horas para aparecer.

Em seguida, verifique se a API Data Lineage está ativada para o projeto ativo.

Quando a API Data Lineage estiver ativada, conceda o papel de Leitor de linhagem de dados (roles/datalineage.viewer) nos projetos ativo e do Compute.

Os metadados do processo do BigQuery não aparecem

O problema a seguir ocorre quando você abre o painel de detalhes da tabela, que não mostra todos os detalhes, como a instrução SQL ou a propriedade Process type. Isso acontece mesmo que a linhagem de dados seja exibida corretamente.

Isso pode acontecer quando você não tem permissões para conferir metadados no projeto do Compute.

Exemplo:

  • Tabela de origem do BigQuery: docs-source.dataset.source-001
  • Tabela de destino do BigQuery: docs-target.dataset.target-001
  • Linhagem de dados entre docs-source.dataset.source-001 e docs-target.dataset.target-001 em projeto do Compute docs-compute
  • Você tem o papel de Leitor de linhagem de dados para projetos ativos e do Compute docs-compute

Ao clicar nos detalhes do processo do BigQuery, a seguinte mensagem aparece no Google Cloud console:

You don't have permission to view BigQuery process metadata in project X.
Na interface do BigQuery, na guia &quot;Linhagem&quot;, o painel &quot;Detalhes&quot; mostra uma mensagem de erro.
Figura 5. Exemplo de detalhes do processo do BigQuery que não aparecem na interface do BigQuery.

Para resolver esse problema, conceda a permissão bigquery.jobs.get do usuário (por exemplo, incluída no papel de Leitor de recursos do BigQuery ) no projeto do Compute.

Os detalhes da tabela do BigQuery não aparecem

O problema a seguir ocorre quando você abre o painel de detalhes da tabela, que mostra apenas a propriedade Fully qualified name. Isso acontece mesmo que a linhagem de dados seja exibida corretamente. Isso pode acontecer quando você não tem todas as permissões necessárias nos projetos de armazenamento da tabela .

Exemplo:

Nesse caso, ao clicar nos detalhes do nó do BigQuery, você verá a mensagem Entry with this fully qualified name is not available in Knowledge Catalog or you do not have permissions to view it.

Os detalhes da tabela do BigQuery não aparecem.
Figura 6. Exemplo de detalhes da tabela do BigQuery que não aparecem na interface do BigQuery.

Para resolver esse problema, conceda as permissões bigquery.tables.get (por exemplo, incluídas no papel de Leitor de dados do BigQuery) no projeto de armazenamento.