Générer des insights sur les tableaux

Ce document explique comment générer des insights sur les tables BigQuery, BigLake et externes. Les insights sur les tables vous aident à comprendre les données d'une table en générant des questions en langage naturel et des requêtes SQL basées sur les métadonnées de la table.

Les insights sur les tableaux peuvent vous aider à explorer plus rapidement les données. Ils vous permettent de comprendre rapidement la structure et le contenu d'un tableau nouveau ou inconnu sans avoir à écrire des requêtes complexes. Vous pouvez également générer des requêtes SQL à partir de questions en langage naturel, ce qui réduit le temps et les efforts nécessaires pour écrire des requêtes manuellement. Les insights sur les tableaux peuvent également aider les utilisateurs non SQL à comprendre et à analyser les données à l'aide de ces requêtes en langage naturel.

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 données de tableau

Lorsque vous générez des insights sur les tables, BigQuery propose deux modes :

Mode Description Utilisation
Générer et publier (Aperçu)

Conserve les insights générés sur les tables dans Dataplex Universal Catalog en tant qu'aspects de métadonnées. Vous devez disposer des autorisations nécessaires pour publier. Lorsque vous utilisez Générer et publier, les actions suivantes se produisent :

  • Stocke les descriptions des tables et des colonnes dans Dataplex Universal Catalog.
  • Capture les requêtes et questions suggérées en tant qu'aspects réutilisables.
  • Rend les insights publiés accessibles à tous les utilisateurs disposant d'un accès approprié à Dataplex Universal Catalog, ce qui garantit le partage des connaissances de l'organisation.
  • Vous permet de modifier et d'enregistrer des descriptions directement dans Dataplex Universal Catalog.

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 tables à la demande, tels que des descriptions, des questions en langage naturel et des requêtes SQL. L'option Générer sans publier ne publie pas les insights dans Dataplex Universal 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.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the APIs

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

Rôles et autorisations

Pour créer, gérer et récupérer des insights sur les données, demandez à votre administrateur de vous accorder les rôles IAM (Identity and Access Management) suivants :

Pour obtenir un accès en lecture seule aux insights générés, demandez à votre administrateur de vous accorder le rôle IAM suivant :

Pour publier des insights sur les données dans Dataplex Universal Catalog, demandez à votre administrateur de vous accorder les rôles IAM suivants sur la ressource :

Pour activer les API, demandez à votre administrateur de vous accorder le rôle IAM suivant :

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.jobs.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • dataplex.datascans.create
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.run

Générer des insights pour une table BigQuery

Pour générer des insights pour les tables BigQuery, vous pouvez utiliser la consoleGoogle Cloud ou le type d'analyse DATA_DOCUMENTATION compatible avec l'API DataScans de Dataplex Universal Catalog. Ces analyses génèrent des métadonnées, des requêtes SQL pour l'exploration des données, des descriptions de schéma et des récapitulatifs au niveau des tables.

Console

Afin de générer des insights pour une table BigQuery, vous devez accéder à l'entrée de table dans BigQuery à l'aide de BigQuery Studio.

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

    Accéder à BigQuery Studio

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

  3. Cliquez sur l'onglet Insights. Si l'onglet est vide, cela signifie que les insights de cette table ne sont pas encore générés.

  4. Pour générer des insights et les publier dans Dataplex Universal Catalog, cliquez sur Générer et publier (Aperçu).

    Pour générer des insights sans les publier dans Dataplex Universal 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.

  5. Sélectionnez une région pour générer des insights, puis cliquez sur Générer.

    L'insertion des insights prend quelques minutes.

    Si des résultats de profilage des données publiés pour la table sont disponibles, ils permettent de générer des insights. Sinon, les insights sont générés en fonction des noms et des descriptions des colonnes. Pour en savoir plus, consultez Bonnes pratiques pour améliorer les insights générés.

  6. Dans l'onglet Insights, explorez les questions en langage naturel générées.

  7. Pour afficher la requête SQL qui répond à une question, cliquez sur la question.

  8. Pour ouvrir une requête dans BigQuery, cliquez sur Copier vers la requête.

  9. Pour poser des questions complémentaires :

    1. Cliquez sur Poser une question complémentaire. La requête s'ouvre dans un nouveau canevas de données.

    2. Cliquez sur Exécuter, puis sur Interroger ces résultats.

    3. Pour poser une question complémentaire, saisissez une requête dans le champ de requête en langage naturel ou modifiez le code SQL dans l'éditeur de requête.

  10. Pour générer un nouvel ensemble de requêtes, cliquez sur Générer des insights et déclenchez une nouvelle exécution de pipeline.

Une fois que vous avez généré des insights pour une table, toute personne disposant de l'autorisation dataplex.datascans.getData et ayant accès à la table peut les consulter.

REST

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

  1. Facultatif : Créez une analyse de profilage des données pour la table.
  2. Générer un datascan de documentation des données pour la table BigQuery
  3. Vérifier l'état de l'analyse de la documentation sur les données
  4. Publier les résultats de l'analyse de la documentation sur les données dans une table BigQuery

Facultatif : Créez une analyse de profil de données pour la table.

La présence d'analyses de profil de données réduit les hallucinations et les approximations de Gemini, car elles ancrent la sortie dans les valeurs réelles présentes dans les données.

Pour créer et exécuter une analyse de profilage des données, procédez comme suit :

  1. Créez une analyse de profilage des données à l'aide de la méthode dataScans.create.

  2. Exécutez l'analyse de profilage des données à l'aide de la méthode dataScans.run. Attendez la fin de l'exécution.

  3. Publiez les résultats de l'analyse dans la table BigQuery en ajoutant les libellés de profilage des données suivants à la table :

    • dataplex-dp-published-scan:DATASCAN_ID
    • dataplex-dp-published-project:PROJECT_ID
    • dataplex-dp-published-location:LOCATION

    Pour en savoir plus, consultez Ajouter des libellés aux tables et aux vues.

Générer une analyse de données pour la documentation des données de la table BigQuery

Vous pouvez choisir d'exécuter une analyse gérée standard ou une analyse ponctuelle simplifiée.

Option A : Analyse gérée standard (créer et exécuter)

Utilisez cette méthode si vous souhaitez gérer la ressource d'analyse au fil du temps.

  1. Créez une analyse des données de documentation des données à l'aide de la méthode dataScans.create. Vous pouvez personnaliser le champ d'application de la génération pour inclure le schéma, les descriptions, les requêtes ou une combinaison à l'aide du paramètre generation_scopes :

    • Pour générer des descriptions de schémas et de tables, ainsi que des requêtes SQL, laissez data_documentation_spec vide ou définissez generation_scopes sur ALL. Exemple :

      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/tables/TABLE_ID"
        },
        "executionSpec": {
          "trigger": { "onDemand": {} }
        },
        "type": "DATA_DOCUMENTATION",
        "dataDocumentationSpec": {
          "generation_scopes": "ALL"
        }
      }'
      

      Remplacez les éléments suivants :

      • PROJECT_ID : ID de votre projet Google Clouddans 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é
      • TABLE_ID : ID de la table BigQuery analysée
    • Pour générer le schéma, les descriptions de tables et les descriptions de colonnes sans requêtes SQL, définissez generation_scopes sur TABLE_AND_COLUMN_DESCRIPTIONS. Exemple :

      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/tables/TABLE_ID"
        },
        "executionSpec": {
          "trigger": { "onDemand": {} }
        },
        "type": "DATA_DOCUMENTATION",
        "dataDocumentationSpec": {
          "generation_scopes": "TABLE_AND_COLUMN_DESCRIPTIONS"
        }
      }'
      
    • Pour générer des requêtes SQL sans descriptions, définissez generation_scopes sur SQL_QUERIES. Exemple :

      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/tables/TABLE_ID"
        },
        "executionSpec": {
          "trigger": { "onDemand": {} }
        },
        "type": "DATA_DOCUMENTATION",
        "dataDocumentationSpec": {
          "generation_scopes": "SQL_QUERIES"
        }
      }'
      
  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.

Option B : Analyse unique (simplifiée)

Utilisez cette méthode pour lancer et terminer une analyse en un seul appel d'API. Cette méthode évite d'appeler la méthode "run" séparément et permet la suppression automatique de la ressource d'analyse à l'aide de la fonctionnalité de durée de vie (TTL).

Créez et déclenchez l'analyse à l'aide de la méthode dataScans.create. Exemple :

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/\
    tables/TABLE_ID"
  },
  "type": "DATA_DOCUMENTATION",
  "dataDocumentationSpec": { "generation_scopes": "ALL" },
  "executionSpec": {
    "trigger": {
      "one_time": {
        "ttl_after_scan_completion": { "seconds": TTL_TIME }
      }
    }
  }
}'

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Clouddans 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é
  • TABLE_ID : ID de la table BigQuery analysée
  • TTL_TIME : durée en secondes après laquelle la ressource d'analyse doit être automatiquement supprimée (par exemple, 3600 pour une heure)

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.

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

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

Publier les résultats de l'analyse de la documentation des données dans une table BigQuery

Pour publier les résultats de l'analyse dans la table BigQuery, ajoutez les libellés de documentation de données suivants à la table :

  • dataplex-data-documentation-published-scan:DATASCAN_ID
  • dataplex-data-documentation-published-project:PROJECT_ID
  • dataplex-data-documentation-published-location:LOCATION

Générer des insights pour une table externe BigQuery

Les insights sur les données BigQuery permettent de générer des insights pour les tables externes BigQuery contenant des données dans Cloud Storage. Vous et le compte de service Dataplex Universal Catalog pour le projet actuel devez disposer du rôle Lecteur d'objets Storage (roles/storage.objectViewer) sur le bucket Cloud Storage contenant les données. Pour plus d'informations, consultez la section Ajouter un compte principal à une stratégie au niveau du bucket.

Pour générer des insights pour une table externe BigQuery, suivez les instructions décrites dans la section Générer des insights pour une table BigQuery de ce document.

Générer des insights pour une table BigLake

Pour générer des insights pour une table BigLake, procédez comme suit :

  1. Activez l'API Connection BigQuery dans votre projet.

    Activez l'API BigQuery Connection.

  2. Créer une connexion BigQuery Pour en savoir plus, consultez la page Gérer les connexions.

  3. Attribuez le rôle IAM de lecteur des objets de l'espace de stockage (roles/storage.objectViewer) au compte de service correspondant à la connexion BigQuery que vous avez créée.

    Vous pouvez récupérer l'ID du compte de service à partir des informations de connexion.

  4. Pour générer des insights, suivez les instructions décrites dans la section Générer des insights pour une table BigQuery de ce document.

Générer des descriptions de tables et de colonnes

Gemini dans BigQuery génère automatiquement des descriptions de tables et de colonnes lorsque vous générez des insights sur les données. Vous pouvez modifier ces descriptions si nécessaire, puis les enregistrer dans les métadonnées de la table. Les descriptions enregistrées sont utilisées pour générer de futurs insights.

Contrôler la langue de génération

Vous pouvez demander à Gemini de générer des descriptions de tables et de colonnes dans une langue spécifique. Pour ce faire, ajoutez une brève directive (par exemple, "Générer des descriptions de tableaux et de colonnes en français") à la description existante de votre tableau avant de générer les insights sur les données.

Lorsque vous générez des insights, Gemini interprète cette directive et produit les métadonnées dans la langue demandée. Ce mécanisme fonctionne, car Gemini utilise les descriptions de tables existantes comme contexte lorsqu'il en génère de nouvelles.

Pour obtenir la liste des langues disponibles, consultez Langues compatibles avec Gemini.

Générer des descriptions

Pour générer des descriptions de tables et de colonnes, procédez comme suit :

  1. Générez des insights en suivant les instructions décrites dans la section correspondante de ce document :

  2. Cliquez sur l'onglet Schéma.

  3. Cliquez sur Afficher les descriptions des colonnes.

    La description de la table et des colonnes générées s'affiche.

  4. Pour modifier et enregistrer la description de tableau générée :

    1. Dans la section Description de la table, cliquez sur Enregistrer dans les détails.

    2. Pour remplacer la description actuelle par celle générée, cliquez sur Copier la description suggérée.

    3. Modifiez la description du tableau si nécessaire, puis cliquez sur Enregistrer dans les détails.

      La description de la table est mise à jour immédiatement.

  5. Pour modifier et enregistrer les descriptions de colonnes générées :

    1. Dans la section Descriptions de colonne, cliquez sur Enregistrer dans le schéma.

      Les descriptions de colonnes générées sont renseignées dans le champ Nouvelle description pour chaque colonne.

    2. Modifiez les descriptions des colonnes si nécessaire, puis cliquez sur Enregistrer.

      Les descriptions de colonnes sont mises à jour immédiatement.

  6. Pour fermer le panneau d'aperçu, cliquez sur Fermer.

Bonnes pratiques pour générer des insights sur les données

Pour améliorer la précision des insights générés, suivez les recommandations suivantes :

  • Fournissez des descriptions complètes. Assurez-vous que les tables et les colonnes de l'ensemble de données comportent des descriptions claires et détaillées.

  • Ancrez les insights avec le profilage. Si les descriptions ne sont pas disponibles, assurez-vous qu'une analyse de profil est associée à chaque tableau de l'ensemble de données pour ancrer les insights générés.

  • Définissez explicitement les règles. Incluez toutes les relations ou la logique métier que le module Insights utilise pour influencer la génération de relations dans la description de la table correspondante.

Ancrer les insights aux résultats du profilage des données

Dans le contexte de l'IA générative, l'ancrage désigne la capacité à connecter les résultats du modèle à des sources d'informations vérifiables. Vous pouvez ancrer les insights générés sur les tables aux résultats du profilage des données. Le profilage de données analyse les colonnes de vos tables BigQuery et identifie les caractéristiques statistiques courantes, telles que les valeurs de données typiques et la distribution des données.

Lorsque vous créez une analyse de profilage des données pour une table, vous pouvez choisir de publier les résultats de l'analyse sur les pages BigQuery et Dataplex Universal Catalog de la console Google Cloud . Les insights utilisent les résultats du profilage des données pour créer des requêtes plus précises et pertinentes en procédant comme suit :

  1. Analyse les résultats du profilage des données pour identifier des modèles, des tendances ou des anomalies intéressants dans les données.

  2. Génère des requêtes axées sur ces modèles, tendances ou anomalies afin d'identifier des insights.

  3. Valide les requêtes générées par rapport aux résultats du profilage des données pour s'assurer qu'elles renvoient des résultats significatifs.

Sans les analyses de profilage des données, les éléments suivants se produisent :

  • Les requêtes générées sont plus susceptibles d'inclure des clauses inexactes ou de produire des résultats dénués de sens.

  • Les descriptions de colonnes générées ne sont basées que sur le nom de la colonne.

Assurez-vous que l'analyse de profilage des données de votre table est à jour et que les résultats sont publiés dans BigQuery.

Vous pouvez ajuster les paramètres de profilage des données pour augmenter la taille de l'échantillonnage et filtrer les lignes et les colonnes. Après avoir exécuté une nouvelle analyse de profilage des données, générez à nouveau des insights.

La qualité des insights sur l'ensemble de données s'améliore également de manière significative si les tables de l'ensemble de données contiennent des résultats de profilage des données.

Ajouter une description de tableau

Des descriptions détaillées des tables qui décrivent ce que vous souhaitez analyser dans vos tables peuvent aider Gemini dans BigQuery à générer des insights plus pertinents pour les tables et les ensembles de données. Une fois que vous avez ajouté une description de table, générez à nouveau des insights.

Par exemple, vous pouvez ajouter la description suivante à une table telco_churn telle que celle utilisée dans Exemple d'insights sur les données de table :

This table tracks customer churn data, including subscription details, tenure,
and service usage, to predict customer churn behavior.

Si vous enregistrez la description de table générée par Gemini, elle sera utilisée pour générer les futurs insights.

Ajouter une description de colonne

Les descriptions de colonnes qui expliquent ce que représente chaque colonne ou comment une colonne est liée à une autre peuvent améliorer la qualité de vos insights pour les insights sur les tables et les ensembles de données. Après avoir mis à jour les descriptions des colonnes de votre tableau, générez à nouveau des insights.

Par exemple, vous pouvez ajouter les descriptions suivantes à des colonnes spécifiques d'une table telco_churn telle que celle utilisée dans Exemple d'insights sur les données de table :

Pour la colonne tenure :

The number of months the customer has been with the service.

Pour la colonne churn :

Whether the customer has stopped using the service. TRUE indicates the customer
no longer uses the service, FALSE indicates the customer is active.

Si vous enregistrez les descriptions de colonnes générées par Gemini, elles seront utilisées pour générer de futurs insights.

Étapes suivantes