Resolver problemas de linhagem de dados

Nesta página, mostramos como resolver problemas com o Data Catalog linhagem de dados.

Tipos de projeto

Como os recursos de dados podem residir em projetos diferentes, veja um resumo dos possíveis projetos e seus nomes de 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 de Table ID, antes do primeiro ponto.

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

Projeto de computação

Esse projeto armazena os metadados da linhagem de dados. No BigQuery, é aqui que você executa um job. Se você executar um job na UI, vai encontrar o nome do projeto de computação 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 de computação que executa jobs do BigQuery.

Ao enviar solicitações para a API BigQuery, especifique o projeto de computação 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

Este é o projeto em que você está visualizando a linhagem de dados. O console do Google Cloud mostra o projeto ativo no seletor de projetos. Se você estiver usando a API, o projeto ativo é 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 console do Google Cloud.

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:

Se a mensagem "Falha na busca da linhagem devido à ausência de permissões" for exibida: na parte inferior da página, não há permissões sobre projeto ativo. Caso contrário, você não terá as permissões necessárias no projeto de computação.

Uma captura de tela que mostra um gráfico de linhagem vazio.
Figura 4. Exemplo de linhagem que não aparece na interface do BigQuery.

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

Em seguida, verifique se a API Data Lineage está ativada para o projeto ativo. Depois de ativar a API, se você tiver as permissões necessárias (confira abaixo), a linhagem vai aparecer.

Quando a API Data Lineage foi ativada, conceda o Leitor da linhagem de dados (roles/datalineage.viewer) no projeto ativo e no compute.

Os metadados do processo do BigQuery não são exibidos

Descrição do problema

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ão para ver metadados na projeto de computação.

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 Visualizador da linhagem de dados para projetos docs-compute ativos e de computação.

Clique nos detalhes do processo do BigQuery para exibir a seguinte mensagem:

You don't have permission to view BigQuery process metadata in project X.

No console do Google Cloud:

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 o problema, conceda a permissão bigquery.jobs.get ao usuário Por exemplo, incluído no Leitor de recursos do BigQuery ) no projeto de computação.

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 "Nome totalmente qualificado". Isso acontece mesmo que a linhagem de dados é exibida corretamente. Isso pode acontecer quando você não tem todas as permissões necessárias no arquivo projetos de armazenamento.

Exemplo:

  • Tabela do BigQuery docs-source.dataset.source-001,
  • Tabela do BigQuery docs-target.dataset.target-001,
  • linhagem de dados entre docs-source.dataset.source-001 e docs-target.dataset.target-001 com projeto do Compute docs-compute,
  • Usuário com a função Visualizador da linhagem de dados para os projetos docs-compute ativo e compute.

Nesse caso, ao clicar nos detalhes do nó do BigQuery, aparece uma mensagem Entry with this fully qualified name is not available in the Data Catalog:

Uma captura de tela que mostra o painel de tabela vazio.
Figura 6. Exemplo de detalhes da tabela do BigQuery que não aparecem na interface do BigQuery.

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