Soluciona problemas de linaje de datos

En esta página, se muestra cómo resolver problemas con el linaje de datos de Data Catalog.

Tipos de proyecto

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

Proyecto de almacenamiento de BigQuery

Este proyecto almacena tus recursos de datos de BigQuery. Puedes encontrarlo en los detalles del recurso 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 del nombre de la tabla completamente calificado.
Figure 1. Es el nombre de un proyecto de almacenamiento de BigQuery.

Proyecto de Compute

Este proyecto almacena los metadatos del linaje de datos. Para BigQuery, aquí es donde ejecutas un trabajo. Si ejecutas un trabajo desde la IU, puedes encontrar el nombre del proyecto de procesamiento en el selector de proyectos:

En la IU de BigQuery, se muestra un proyecto de procesamiento llamado docs-compute en la página en la que ejecutas las consultas en SQL.
Figure 2. 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 estás viendo 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 para 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 debido a que 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.

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

A fin de resolver este problema, primero 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 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. Si tienes los permisos necesarios (consulta a continuación), después de habilitar la API, verás el linaje.

Cuando se habilitó la API de Data Lineage, otorga Visualizador de linaje de datos (roles/datalineage.viewer) en el proyecto activo y el de compute.

No se muestran los metadatos del proceso de BigQuery

Descripción del problema

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 muestra correctamente.

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

Ejemplo:

  • Tabla de origen de BigQuery: docs-source.dataset.source-001
  • Tabla de destino de BigQuery: docs-target.dataset.target-001
  • Linaje de datos entre docs-source.dataset.source-001 y docs-target.dataset.target-001 en el proyecto de procesamiento docs-compute
  • Tienes la función Visualizador de linaje de datos para proyectos docs-compute activos y de compute.

Cuando haces clic en los detalles del proceso de BigQuery, se muestra el siguiente mensaje:

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

En la consola de Google Cloud:

En la IU de BigQuery, en la pestaña Linaje, el panel Detalles muestra un mensaje de error.
Figura 5. Ejemplo de 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, se incluye en la función 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 "Nombre completamente calificado". Esto sucede aunque el linaje de datos se muestra correctamente. Esto puede suceder cuando no tienes todos los permisos necesarios en los proyectos de almacenamiento de la tabla.

Ejemplo:

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

Captura de pantalla que muestra el panel vacío de la tabla.
Figura 6. Ejemplo de detalles de la tabla de BigQuery que no se muestran en la IU de BigQuery.

Para resolver este problema, otorga al usuario permisos bigquery.tables.get (por ejemplo, incluidos en la función Visualizador de datos de BigQuery) en el proyecto de almacenamiento.