Résoudre les problèmes de lignée de données

La traçabilité des données dans Knowledge Catalog (anciennement Dataplex Universal Catalog) vous permet de suivre le déplacement des données, de comprendre leur origine et de déboguer les pipelines de données. Si les graphiques de traçabilité, les métadonnées de processus, les détails de la table ou les liens au niveau des colonnes n'apparaissent pas comme prévu, ou si vous constatez des frais de traitement Knowledge Catalog Premium inattendus, vous pouvez vérifier les autorisations de votre projet, les paramètres de l'API et les types de jobs compatibles.

Si vous avez besoin d'aide pour résoudre un problème qui n'est pas abordé dans ce document, consultez Cloud Customer Care.

Types de projets

Les éléments de données peuvent se trouver dans différents projets. Voici un récapitulatif des projets possibles et de leurs noms d'éléments.

Projet de stockage BigQuery

Ce projet stocke vos éléments de données BigQuery. Vous le trouverez dans les détails de l'élément, dans Table ID, avant le premier point.

Dans l'interface utilisateur de BigQuery, le nom du projet de stockage est affiché dans le champ "ID de la table", avant le premier point du nom complet de la table.
Figure 1. Nom d'un projet de stockage BigQuery.

Projet Compute

Ce projet stocke les métadonnées de traçabilité des données. Pour BigQuery, il s'agit de l'emplacement où vous exécutez un job. Si vous exécutez un job à l'aide de la consoleGoogle Cloud , vous pouvez trouver le nom du projet de calcul dans le sélecteur de projet :

L'UI BigQuery affiche un projet de calcul appelé "docs-compute" sur la page où vous exécutez des requêtes SQL.
Figure 2. Nom d'un projet de calcul qui exécute des jobs BigQuery.

Lorsque vous envoyez des requêtes à l'API BigQuery, spécifiez le projet de calcul dans l'URL, par exemple :

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

Projet actif

Il s'agit du projet à partir duquel vous affichez la traçabilité des données. La consoleGoogle Cloud affiche le projet actif dans le sélecteur de projet. Si vous utilisez l'API, le projet actif est celui à partir duquel vous effectuez des appels d'API.

L'UI BigQuery affiche la traçabilité des données d'un ensemble de données appelé source-001, qui se trouve dans un projet appelé docs-source.
Figure 3 : Le projet actif dans la console Google Cloud .

La traçabilité des données BigQuery ne s'affiche pas

Le problème suivant se produit après l'exécution d'un job BigQuery. Dans ce cas, le problème peut être dû à trois scénarios :

  • L'API Data Lineage est désactivée dans le projet actif ou le projet de calcul.
  • Vous ne disposez pas du rôle Lecteur de la traçabilité des données (roles/datalineage.viewer) dans le projet actif ou le projet de calcul.
  • La traçabilité des données n'est pas encore disponible. Selon le volume et la complexité des données traitées, l'affichage de la traçabilité des données peut prendre de 30 minutes à 24 heures.

Si le message "Échec de l'extraction de la traçabilité en raison d'autorisations manquantes" s'affiche, cela signifie que vous ne disposez pas des autorisations nécessaires sur le projet actif. Sinon, vous ne disposez pas des autorisations nécessaires sur le projet de calcul.

Graphique de traçabilité vide.
Figure 4 : Exemple de traçabilité qui ne s'affiche pas dans l'interface utilisateur de BigQuery.

Pour résoudre ce problème, vérifiez si l'API Data Lineage est activée pour le projet de calcul. Après avoir activé l'API, vous devez exécuter un job pour afficher la traçabilité des données. Selon le volume et la complexité des données traitées, l'affichage de la traçabilité des données peut prendre de 30 minutes à 24 heures.

Ensuite, vérifiez si l'API Data Lineage est activée pour le projet actif.

Une fois l'API Data Lineage activée, attribuez le rôle Lecteur de traçabilité des données (roles/datalineage.viewer) dans les projets actif et de calcul.

Les métadonnées du processus BigQuery ne s'affichent pas

Le problème suivant se produit lorsque vous ouvrez le volet des détails de la table, qui n'affiche pas tous les détails tels que l'instruction SQL ou la propriété Process type. Cela se produit même si la traçabilité des données s'affiche correctement.

Cela peut se produire lorsque vous ne disposez pas des autorisations nécessaires pour afficher les métadonnées dans le projet de calcul.

Exemple :

Si vous cliquez sur les détails du processus BigQuery, le message suivant s'affiche dans la console Google Cloud  :

You don't have permission to view BigQuery process metadata in project X.
Dans l'UI BigQuery, dans l'onglet &quot;Traçabilité&quot;, le volet &quot;Détails&quot; affiche un message d'erreur.
Figure 5 : Exemple de détails du processus BigQuery qui ne s'affichent pas dans l'interface utilisateur de BigQuery.

Pour résoudre ce problème, accordez à l'utilisateur l'autorisation bigquery.jobs.get (par exemple, incluse dans le rôle Lecteur de ressources BigQuery) dans le projet de calcul.

Les détails de la table BigQuery ne s'affichent pas

Le problème suivant se produit lorsque vous ouvrez le volet Détails de la table, qui n'affiche que la propriété Fully qualified name. Cela se produit même si la traçabilité des données s'affiche correctement. Cela peut se produire lorsque vous ne disposez pas de toutes les autorisations requises dans les projets de stockage de la table.

Exemple :

Dans ce cas, lorsque vous cliquez sur les détails du nœud BigQuery, le message Entry with this fully qualified name is not available in Knowledge Catalog or you do not have permissions to view it s'affiche.

Les détails de la table BigQuery ne s'affichent pas.
Figure 6 : Exemple de détails d'une table BigQuery qui ne s'affichent pas dans l'interface utilisateur de BigQuery.

Pour résoudre ce problème, accordez l'autorisation bigquery.tables.get (par exemple, incluse dans le rôle Lecteur de données BigQuery) dans le projet de stockage.

La traçabilité au niveau des colonnes affiche "Aucune colonne à sélectionner"

Le problème suivant se produit lorsque vous affichez un élément dans la console Google Cloud et que le graphique de traçabilité au niveau de la table s'affiche correctement, mais que la sélection de la traçabilité au niveau de la colonne affiche le message "Il n'y a aucune colonne à sélectionner" ou qu'aucun lien de colonne à colonne n'apparaît.

Ce problème peut se produire dans les scénarios suivants :

  • Événements OpenLineage personnalisés : les événements ingérés via le point de terminaison ProcessOpenLineageRunEvent de l'API Data Lineage ne sont compatibles qu'avec la traçabilité au niveau de la table. Les facettes personnalisées au niveau des colonnes ne sont pas affichées dans la consoleGoogle Cloud .
  • Sources de données ou systèmes non compatibles : les graphiques de traçabilité au niveau des colonnes ne sont générés que pour les transformations SQL BigQuery et les jobs Managed Service pour Apache Spark. D'autres systèmes intégrés (tels que Cloud Data Fusion et Vertex AI) n'acceptent que la traçabilité au niveau de la table.
  • Types de jobs BigQuery non compatibles : la traçabilité au niveau des colonnes n'est pas collectée pour les jobs de chargement, les jobs de copie ou les routines BigQuery.
  • Tables externes : la traçabilité en amont au niveau des colonnes n'est pas collectée pour les tables externes.
  • Éléments non structurés ou au niveau du stockage : bien que les éléments basés sur des fichiers (tels que les fichiers ou buckets Cloud Storage bruts) ne soient généralement pas structurés, la traçabilité des données peut afficher des colonnes pour ces éléments si la traçabilité au niveau des colonnes est signalée au système. Si la traçabilité au niveau des colonnes n'est pas signalée pour l'asset de fichier, vous ne pouvez sélectionner aucune colonne.
  • Types imbriqués complexes : la traçabilité au niveau des colonnes ne suit que les colonnes de niveau supérieur. Vous ne pouvez pas sélectionner individuellement des champs imbriqués dans des types de données complexes (tels que STRUCT ou JSON).
  • Pseudo-colonnes de partitionnement : les colonnes de partitionnement du système (telles que _PARTITIONDATE et _PARTITIONTIME) ne sont pas reconnues dans les graphiques de traçabilité au niveau des colonnes.
  • Limites de liens dépassées : si un job de transformation génère plus de 1 500 liens au niveau des colonnes, Knowledge Catalog ignore la collecte de la traçabilité au niveau des colonnes et ne conserve que la traçabilité au niveau des tables.
  • Éléments inter-organisations : si un chemin de traçabilité traverse un élément situé dans une autre organisation, vous ne pouvez pas accéder aux détails du schéma et des colonnes si vous n'appartenez pas à la même organisation que l'élément.

Frais de traitement Knowledge Catalog Premium inattendus

Vous avez désactivé l'API Dataplex (dataplex.googleapis.com) pour arrêter les frais, mais vous continuez à voir des frais quotidiens pour le SKU "Knowledge Catalog Premium Processing".

Ce problème peut se produire si l'API Data Lineage (datalineage.googleapis.com) reste activée. L'API Data Lineage est facturée sous le SKU "Knowledge Catalog Premium Processing", mais elle est gérée en tant qu'API distincte dans la console Google Cloud . La désactivation de l'API Dataplex ne désactive pas l'API Data Lineage et n'arrête pas sa facturation.

Pour déterminer si la traçabilité des données est à l'origine des frais, recherchez l'étiquette goog-dataplex-workload-type avec la valeur LINEAGE dans votre rapport Cloud Billing.

Pour arrêter les frais, désactivez la traçabilité des données en désactivant l'API Data Lineage dans vos projets.