Soluciona problemas relacionados con el linaje de datos

En este documento, se describe cómo resolver problemas con el linaje de datos de Data Catalog.

Tipos de proyecto

Los recursos de datos pueden residir en diferentes proyectos. A continuación, se incluye un resumen de los posibles proyectos y sus nombres de recursos.

Proyecto de almacenamiento de BigQuery

Este proyecto almacena tus recursos de datos de BigQuery. Puedes encontrarlo en los detalles del activo como parte de Table ID, antes del primer punto.

En la IU de BigQuery, el nombre del proyecto de almacenamiento se muestra en el campo ID de la tabla, antes del primer punto en el nombre de la tabla completamente calificado.
Figure 1. El nombre de un proyecto de almacenamiento de BigQuery.

Proyecto de Compute

Este proyecto almacena los metadatos del linaje de datos. En BigQuery, es aquí donde ejecutas un trabajo. Si ejecutas una tarea con la consola de Google Cloud, puedes encontrar el nombre del proyecto de procesamiento en el selector de proyectos:

La IU de BigQuery muestra un proyecto de procesamiento llamado docs-compute en la página en la que ejecutas consultas de SQL.
Figure 2. Es el nombre de un proyecto de procesamiento que ejecuta trabajos de BigQuery.

Cuando envíes solicitudes a la API de BigQuery, especifica el proyecto de procesamiento en la URL, por ejemplo:

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",
  }
}

Proyecto activo

Este es el proyecto desde el que ves el linaje de datos. La consola de Google Cloud muestra el proyecto activo en el selector de proyectos. Si usas la API, el proyecto activo es el proyecto desde el que realizas las llamadas a la API.

La IU de BigQuery muestra el linaje de datos de un conjunto de datos llamado source-001, que se encuentra en un proyecto llamado docs-source.
Figura 3: El proyecto activo en la consola de Google Cloud

No se muestra el linaje de datos de BigQuery

El siguiente problema ocurre después de ejecutar un trabajo de BigQuery. En este caso, el problema puede deberse a tres situaciones:

Si ves el mensaje "No se pudo recuperar el linaje porque faltan permisos" en la parte inferior de la página, significa que te faltan permisos en el proyecto activo. De lo contrario, te faltan permisos en el proyecto de procesamiento.

Un gráfico de linaje vacío.
Figura 4: Ejemplo de un linaje que no se muestra en la IU de BigQuery.

Para resolver este problema, verifica si la API de Data Lineage está habilitada para el proyecto de procesamiento. Después de habilitar la API, debes ejecutar un trabajo para ver el linaje de datos. Según el volumen y la complejidad de los datos que se procesan, el linaje de datos puede tardar desde los 30 minutos estándar hasta 24 horas en mostrarse.

A continuación, verifica si la API de Data Lineage está habilitada para el proyecto activo.

Cuando la API de Data Lineage esté habilitada, otorga permiso al Visualizador de linaje de datos (roles/datalineage.viewer) en los proyectos activos y de procesamiento.

No se muestran los metadatos del proceso de BigQuery

El siguiente problema ocurre cuando abres el panel de detalles de la tabla, que no muestra todos los detalles, como la instrucción de SQL o la propiedad Process type. Esto sucede aunque el linaje de datos se muestre correctamente.

Esto puede ocurrir cuando no tienes permisos para ver metadatos en el proyecto de procesamiento.

Ejemplo:

Si haces clic en los detalles del proceso de BigQuery, se mostrará el siguiente mensaje en la consola de Google Cloud:

You don't have permission to view BigQuery process metadata in project X.
En la IU de BigQuery, en la pestaña Lineage, el panel Detalles muestra un mensaje de error.
Figura 5: Ejemplo de los detalles del proceso de BigQuery que no se muestran en la IU de BigQuery.

Para resolver este problema, otorga al usuario el permiso bigquery.jobs.get (por ejemplo, incluido en el rol de Visualizador de recursos de BigQuery) en el proyecto de procesamiento.

No se muestran los detalles de la tabla de BigQuery

El siguiente problema ocurre cuando abres el panel de detalles de la tabla, que solo muestra la propiedad Fully qualified name. Esto sucede aunque el linaje de datos se muestre correctamente. Esto puede ocurrir cuando no tienes todos los permisos necesarios en los proyectos de almacenamiento de la tabla.

Ejemplo:

En este caso, cuando haces clic en los detalles del nodo de BigQuery, puedes ver un mensaje Entry with this fully qualified name is not available in the Data Catalog.

No se muestran los detalles de la tabla de BigQuery.
Figura 6. Ejemplo de los detalles de la tabla de BigQuery que no se muestran en la IU de BigQuery.

Para resolver este problema, otorga los permisos bigquery.tables.get (por ejemplo, incluidos en el rol de Visualizador de datos de BigQuery) en el proyecto de almacenamiento.