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

Ce document explique comment générer des insights sur un ensemble de données pour les ensembles de données BigQuery. Les insights sur un ensemble 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 un ensemble de données vous aident à accélérer l'exploration des ensembles de données comportant plusieurs tables en détectant et en visualisant automatiquement les relations entre les tables dans un graphique, en identifiant les relations de clé primaire et de clé étrangère, et en générant des exemples de requêtes inter-tables. Cela est utile pour comprendre la structure des données sans documentation, découvrir les relations définies par le schéma, basées sur l'utilisation ou déduites par l'IA entre les tables, et générer des requêtes complexes qui joignent plusieurs tables.

Pour obtenir une présentation 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 des insights sur un ensemble de données

Lorsque vous générez des insights sur un ensemble 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 en tant qu'aspects et 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 aspects.
  • Capture les relations en tant que 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 organisationnelles.
  • 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 Google Cloud console.

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 l'ensemble de données, tels que des descriptions, des questions en langage naturel questions, des relations et des requêtes SQL à la demande. Générer sans publier ne publie pas les insights dans Knowledge Catalog.

Utilisez ce mode pour une exploration rapide et ad hoc 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 d'utilisation du service (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 pour Google Cloud, consultez Activer l'API Gemini pour Google Cloud dans un Google Cloud projet.

Effectuer une analyse de profilage des 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 un ensemble 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 tâches
  • bigquery.jobs.listAll : lister toutes les tâches du projet
  • bigquery.tables.get : obtenir les métadonnées de la table
  • bigquery.tables.getData : obtenir les données et les métadonnées de la 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 de DataScan
  • dataplex.datascans.run : exécuter DataScan à la demande
  • dataplex.entryGroups.useSchemaJoinEntryLink : utiliser des liens d'entrée schema-join
  • dataplex.entryGroups.useSchemaJoinAspect : utiliser des aspects de jointure de schéma
  • dataplex.entryLinks.create : créer des liens d'entrée
  • dataplex.entryLinks.update : mettre à jour des liens d'entrée
  • dataplex.entryLinks.delete : supprimer des liens d'entrée
  • dataplex.entries.link : lier des entrées
  • dataplex.entries.update : mettre à jour des entrées
  • dataplex.entryGroups.useDescriptionsAspect : utiliser des aspects de description
  • dataplex.entryGroups.useQueriesAspect : utiliser des aspects de requête

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

Console

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

    Accéder à BigQuery Studio

  2. Dans le volet Explorateur , sélectionnez le projet, puis l'ensemble de données pour lequel 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 Générer et publier et Générer sans publier modes, consultez Modes de génération des insights sur un ensemble de données.

  5. Si votre ensemble de données se trouve dans une région multirégionale, 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 de relations, un tableau de relations et des exemples de requêtes inter-tables.

REST

Pour générer des insights par programmation, utilisez l'API Knowledge Catalog DataScans. Pour ce faire, procédez comme suit :

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

Générer une analyse de documentation des données pour l'ensemble de données BigQuery

  1. Créez une analyse de documentation des données à l'aide de la dataScans.create méthode. Vous pouvez également publier ces insights dans 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 Google Cloud projet dans lequel réside l'ensemble de données
    • LOCATION : région dans laquelle l'analyse de 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 la tâche d'analyse de documentation des données à l'aide de la dataScans.run méthode.

    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 documentation des données

Vérifiez que l'exécution de la tâche d'analyse est terminée à l'aide de la dataScans.get méthode. Pour récupérer les résultats complets, y compris les insights et l'état de publication, définissez le paramètre view sur FULL.

Utilisez l'ID de tâche pour récupérer l'état de la tâche. Exemple :

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

La tâche se termine lorsque l'état est SUCCEEDED ou FAILURE.

Une réponse de tâche 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 la tâche d'analyse de données terminée. 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 de données au niveau de l'ensemble de données, les liens d'entrée résultants sont stockés entre les tables qu'ils connectent. Pour vérifier ces relations, utilisez la lookupEntryLinks méthode afin de 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 entries.get méthode. 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 du projet dans lequel DataScan a été configuré Google Cloud
  • LOCATION : région dans laquelle réside le groupe d'entrées
  • DATASET_PROJECT_ID : ID du projet dans lequel réside l'ensemble de données BigQuery Google Cloud
  • DATASET : ID de l' ensemble de données BigQuery

Si la publication dans Knowledge Catalog réussit, 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 des requêtes SQL pertinentes liées à l'ensemble de données
  • Relations : conservées en tant que 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, qui résume 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 détails.

Explorer le graphique de relations

Le graphique Relations fournit une représentation visuelle de la manière dont les tables de l'ensemble 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, tels que les colonnes qui joignent deux tables, pointez sur le bord reliant les nœuds de la table.
  • Pour réorganiser le graphique afin d'améliorer la visibilité, faites glisser les nœuds de la table.

Utiliser le tableau de relations

Le tableau de relations liste les relations détectées dans un format tabulaire. 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éduite par le LLM. Relations déduites par Gemini, en fonction des noms et des descriptions des tables et des colonnes de l'ensemble de données.
  • Basée sur l'utilisation. Relations extraites des journaux de requêtes, en fonction des jointures fréquentes.
  • Définie par le schéma. Relations dérivées des mappages de clés primaires et étrangères existants dans le schéma de la table.

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

Utiliser les recommandations de requêtes

En fonction des relations détectées, 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 de 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, ce qui ouvre un canevas de données sans titre dans lequel vous pouvez discuter avec Gemini pour explorer vos données.

Étape suivante