Générer des insights sur un ensemble de données

Ce document explique comment générer des insights sur les ensembles de données BigQuery. Les insights sur les ensembles de données vous aident à comprendre les relations entre les tables d'un ensemble de données en générant des graphiques de relations et des requêtes inter-tables.

Les insights sur les ensembles de données vous aident à explorer plus rapidement les ensembles de données comportant plusieurs tables. Pour ce faire, ils découvrent et visualisent automatiquement les relations entre les tables dans un graphique, identifient les relations de clé primaire et de clé étrangère, et génèrent des exemples de requêtes inter-tables. Cela permet de comprendre la structure des données sans documentation, de découvrir les relations entre les tables définies par le schéma, basées sur l'utilisation ou déduites par l'IA, et de générer des requêtes complexes qui joignent plusieurs tables.

Pour obtenir une vue d'ensemble des insights sur les tables et les ensembles de données, consultez Présentation des insights sur les données.

Modes de génération d'insights sur les ensembles de données

Lorsque vous générez des insights sur les ensembles de données, BigQuery propose deux modes :

Mode Description Utilisation
Générer et publier

Conserve les insights générés sur l'ensemble de données dans Knowledge Catalog sous forme d'aspects et de relations de métadonnées. Vous devez disposer des autorisations nécessaires pour publier. Lorsque vous utilisez Générer et publier, BigQuery effectue les opérations suivantes :

  • Stocke la description de l'ensemble de données dans Knowledge Catalog.
  • Capture les requêtes et questions suggérées en tant qu'aspects réutilisables.
  • Capture les relations sous forme de métadonnées dans Knowledge Catalog.
  • Rend les insights publiés accessibles à tous les utilisateurs disposant d'un accès approprié à Knowledge Catalog, ce qui garantit le partage des connaissances de l'organisation.
  • Vous permet de modifier et d'enregistrer des descriptions directement dans Knowledge Catalog à l'aide de l'API. Vous pouvez modifier les requêtes suggérées à l'aide de la console Cloud de Confiance .

Utilisez ce mode pour la documentation des données à l'échelle de l'entreprise qui est persistante et réutilisable, ou lorsque vous créez des workflows de gouvernance basés sur le catalogue.

Générer sans publier

Crée des insights sur les ensembles de données, tels que des descriptions, des questions en langage naturel, des relations et des requêtes SQL à la demande. L'option Générer sans publier ne publie pas les insights dans Knowledge Catalog.

Utilisez ce mode pour une exploration ad hoc rapide afin d'éviter d'encombrer le catalogue.

Avant de commencer

Les insights sur les données sont générés à l'aide de Gemini dans BigQuery. Pour commencer à générer des insights, vous devez d'abord configurer Gemini dans BigQuery.

Activer les API

Pour utiliser les insights sur les données, activez les API suivantes dans votre projet : API Dataplex, API BigQuery et API Gemini pour Google Cloud.

Rôles requis pour activer les API

Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

Activer les API

Pour en savoir plus sur l'activation de l'API Gemini for Google Cloud, consultez Activer l'API Gemini for Google Cloud dans un projet Cloud de Confiance .

Effectuer une analyse de profil de données

Pour améliorer la qualité des insights, générez une analyse de profilage des données pour les tables de votre ensemble de données.

Rôles requis

Pour obtenir les autorisations nécessaires pour générer, gérer et récupérer des insights sur les ensembles de données, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour connaître les autorisations exactes requises pour générer des insights, développez la section Autorisations requises :

Autorisations requises

  • bigquery.datasets.get : lire les métadonnées de l'ensemble de données
  • bigquery.jobs.create : créer des jobs
  • bigquery.jobs.listAll : liste toutes les tâches du projet
  • bigquery.tables.get : obtenir les métadonnées de la table
  • bigquery.tables.getData : obtenir des données et des métadonnées de table
  • dataplex.datascans.create : créer une ressource DataScan
  • dataplex.datascans.get : lire les métadonnées de la ressource DataScan
  • dataplex.datascans.getData : lire les résultats d'exécution DataScan
  • dataplex.datascans.run : exécutez DataScan à la demande.
  • dataplex.entryGroups.useSchemaJoinEntryLink : utiliser les liens d'entrée schema-join
  • dataplex.entryGroups.useSchemaJoinAspect : utiliser les aspects de jointure de schéma
  • dataplex.entryLinks.create : créer des liens vers des entrées
  • dataplex.entryLinks.update : mettre à jour les liens d'entrée
  • dataplex.entryLinks.delete : supprimer les liens d'entrée
  • dataplex.entries.link : associer des entrées
  • dataplex.entries.update : mettre à jour les entrées
  • dataplex.entryGroups.useDescriptionsAspect : utiliser les aspects de description
  • dataplex.entryGroups.useQueriesAspect : utiliser les aspects de la requête

Générer des insights sur un ensemble de données

Console

  1. Dans la console Cloud de Confiance , accédez à BigQuery Studio.

    Accéder à BigQuery Studio

  2. Dans le panneau Explorateur, sélectionnez le projet, puis l'ensemble de données pour lesquels vous souhaitez générer des insights.

  3. Cliquez sur l'onglet Insights.

  4. Pour générer des insights et les publier dans Knowledge Catalog, cliquez sur Générer et publier.

    Pour générer des insights sans les publier dans Knowledge Catalog, cliquez sur Générer sans publier.

    Pour en savoir plus sur les différences entre les modes Générer et publier et Générer sans publier, consultez Modes de génération d'insights sur les ensembles de données.

  5. Si votre ensemble de données se trouve dans une région multiple, vous serez peut-être invité à sélectionner une région pour générer des insights. Sélectionnez une région correspondant à l'emplacement multirégional dans lequel l'analyse d'insights sera effectuée.

    L'insertion des insights prend quelques minutes. La qualité des insights s'améliore si les tables de l'ensemble de données contiennent des résultats de profilage des données.

Une fois les insights générés, BigQuery affiche une description de l'ensemble de données, un graphique des relations, un tableau des relations et des exemples de requêtes inter-tables.

REST

Pour générer des insights de manière programmatique, utilisez l'API DataScans de Knowledge Catalog. Pour ce faire, procédez comme suit :

  1. Générer un datascan de documentation des données pour l'ensemble de données BigQuery
  2. Vérifier l'état de l'analyse de la documentation sur les données
  3. Vérifier la publication dans Knowledge Catalog

Générer un datascan de documentation des données pour l'ensemble de données BigQuery

  1. Créez une analyse des données de documentation des données à l'aide de la méthode dataScans.create. Vous pouvez également publier ces insights dans le Knowledge Catalog en définissant le paramètre catalog_publishing_enabled sur true.

    Exemple :

    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    gcurl -X POST \
    https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\
    dataScans?dataScanId=DATASCAN_ID \
    -d '{
      "data": {
        "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID"
      },
      "executionSpec": {
        "trigger": { "onDemand": {} }
      },
      "type": "DATA_DOCUMENTATION",
      "dataDocumentationSpec": {
        "catalog_publishing_enabled": true
      }
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Cloud de Confiance by S3NSdans lequel réside l'ensemble de données
    • LOCATION : région dans laquelle l'analyse des données s'exécute.
    • DATASCAN_ID : nom unique que vous fournissez pour cette analyse
    • DATASET_ID : ID de l'ensemble de données BigQuery analysé
  2. Démarrez le job d'analyse de la documentation des données à l'aide de la méthode dataScans.run.

    Exemple :

    gcurl -X POST \
    https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\
    dataScans/DATASCAN_ID:run
    

    Cette requête renvoie un ID de tâche unique ainsi que l'état initial.

Vérifier l'état de l'analyse de la documentation des données

Vérifiez que le job d'analyse s'est terminé à l'aide de la méthode dataScans.get. Pour récupérer l'ensemble des résultats, y compris les insights et l'état de publication, définissez le paramètre view sur FULL.

Utilisez l'ID du job pour récupérer son état. Exemple :

gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID?view=FULL

Le job est terminé lorsque l'état est SUCCEEDED ou FAILURE.

Une réponse de job réussie contient les insights générés dans le champ dataDocumentationResult.

Vérifier la publication dans Knowledge Catalog

Si catalog_publishing_enabled est défini sur true, les insights sont publiés de manière asynchrone dans Knowledge Catalog une fois le job d'analyse des données terminé. Pour vérifier que les insights ont été conservés, utilisez l'API Dataplex pour inspecter les aspects de l'ensemble de données.

Bien que les insights soient générés à partir de l'analyse des données au niveau de l'ensemble de données, les liens d'entrée qui en résultent sont stockés entre les tables qu'ils connectent. Pour vérifier ces relations, utilisez la méthode lookupEntryLinks pour récupérer les liens d'entrée associés à une entrée de table spécifique.

Pour récupérer les métadonnées de votre ensemble de données BigQuery, utilisez la méthode entries.get. Pour inclure tous les aspects, définissez le paramètre view sur FULL. Exemple :

gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/DATASET_PROJECT_ID/datasets/DATASET_ID?view=FULL

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Cloud de Confiance by S3NSdans lequel DataScan a été configuré
  • LOCATION : région où se trouve le groupe d'entrées
  • DATASET_PROJECT_ID : ID du projet Cloud de Confiance by S3NSdans lequel réside l'ensemble de données BigQuery
  • DATASET : ID de l'ensemble de données BigQuery

Si la publication dans Knowledge Catalog est réussie, les aspects suivants sont associés à l'ensemble de données BigQuery :

  • Descriptions : contient des descriptions de l'ensemble de données générées par l'IA
  • Requêtes : contient les requêtes SQL pertinentes liées à l'ensemble de données.
  • Relations : elles sont conservées sous forme de liens d'entrée entre les tables présentes dans l'ensemble de données.

Afficher et enregistrer la description de l'ensemble de données

Gemini génère une description en langage naturel de l'ensemble de données, en résumant les types de tables qu'il contient et le domaine d'activité qu'il représente. Pour enregistrer cette description dans les métadonnées de l'ensemble de données, cliquez sur Enregistrer dans les détails.

Vous pouvez modifier la description avant d'enregistrer les informations.

Explorer le graphique des relations

Le graphique Relations fournit une représentation visuelle de la façon dont les tables du jeu de données sont liées les unes aux autres. Il affiche les 10 tables les plus connectées sous forme de nœuds, avec des lignes représentant les relations entre elles.

  • Pour afficher les détails d'une relation, comme les colonnes qui joignent deux tables, pointez sur l'arête reliant les nœuds des tables.
  • Pour réorganiser le graphique et améliorer la visibilité, faites glisser les nœuds du tableau.

Utiliser le tableau des relations

Le tableau des relations liste les relations découvertes sous forme de tableau. Chaque ligne représente une relation entre deux tables, en indiquant la table et la colonne sources, ainsi que la table et la colonne de destination. La colonne Source indique comment la relation a été déterminée :

  • Déduit par le LLM. Relations déduites par Gemini, en fonction des noms et des descriptions des tables et des colonnes dans l'ensemble de données.
  • En fonction de l'utilisation : Relations extraites des journaux de requête, basées sur les jointures fréquentes.
  • Défini par le schéma Relations dérivées des mappages de clés primaires et étrangères existants dans le schéma de table.

Vous pouvez filtrer les relations pour un tableau spécifique ou envoyer des commentaires sur la qualité des relations détectées. Pour exporter la description et les relations de l'ensemble de données généré vers un fichier JSON, cliquez sur Exporter au format JSON.

Utiliser les recommandations de requêtes

En fonction des relations découvertes, Gemini génère des exemples de requêtes. Il s'agit de questions en langage naturel avec des requêtes SQL correspondantes qui joignent plusieurs tables dans l'ensemble de données.

  1. Pour afficher une requête SQL, cliquez sur une question.

  2. Pour ouvrir la requête dans l'éditeur de requête BigQuery, cliquez sur Copier vers la requête. Vous pouvez ensuite exécuter la requête ou la modifier.

  3. Pour poser une question complémentaire, cliquez sur Poser une question complémentaire. Un canevas de données sans titre s'ouvre, dans lequel vous pouvez discuter avec Gemini pour explorer vos données.

Gérer les insights générés

Une fois que vous avez généré des insights pour un ensemble de données, vous pouvez les gérer, les mettre à jour ou les supprimer dans Knowledge Catalog. Pour en savoir plus, consultez Gérer les insights sur les ensembles de données.

Étapes suivantes