Préparer des données avec des agents d'IA dans l'atelier de programmation BigQuery

Préparer des données avec des agents d'IA dans l'atelier de programmation BigQuery

À propos de cet atelier de programmation

subjectDernière mise à jour : avr. 9, 2025
account_circleRédigé par Tim Bezold

1. Introduction

Imaginez pouvoir préparer vos données à l'analyse plus rapidement et plus efficacement, sans avoir à être un expert en codage. Avec la préparation des données BigQuery, c'est possible. Cette fonctionnalité puissante simplifie l'ingestion, la transformation et le nettoyage des données, et met la préparation des données à la portée de tous les professionnels de la donnée de votre organisation.

Vous êtes prêt à percer les secrets cachés dans vos données produit ?

Prérequis

  • Connaissances de base de la console Google Cloud
  • Connaissances de base de SQL

Points abordés

  • Découvrez comment la préparation des données BigQuery peut nettoyer et transformer vos données brutes en informations stratégiques exploitables, à l'aide d'un exemple réaliste tiré du secteur de la mode et de la beauté.
  • Exécuter et planifier la préparation des données pour vos données nettoyées

Prérequis

  • Un compte Google Cloud et un projet Google Cloud
  • Un navigateur Web tel que Chrome

2. Configuration de base et conditions requises

Configuration de l'environnement au rythme de chacun

  1. Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. Si vous ne possédez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères non utilisée par les API Google. Vous pourrez toujours le modifier.
  • L'ID du projet est unique parmi tous les projets Google Cloud et non modifiable une fois défini. La console Cloud génère automatiquement une chaîne unique (en général, vous n'y accordez d'importance particulière). Dans la plupart des ateliers de programmation, vous devrez indiquer l'ID de votre projet (généralement identifié par PROJECT_ID). Si l'ID généré ne vous convient pas, vous pouvez en générer un autre de manière aléatoire. Vous pouvez également en spécifier un et voir s'il est disponible. Après cette étape, l'ID n'est plus modifiable et restera donc le même pour toute la durée du projet.
  • Pour information, il existe une troisième valeur (le numéro de projet) que certaines API utilisent. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
  1. Vous devez ensuite activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour désactiver les ressources et éviter ainsi que des frais ne vous soient facturés après ce tutoriel, vous pouvez supprimer le projet ou les ressources que vous avez créées. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai sans frais pour bénéficier d'un crédit de 300$.

3. Avant de commencer

Activer l'API

Pour utiliser Gemini dans BigQuery, vous devez activer l'API Gemini pour Google Cloud. Cette étape est généralement effectuée par un administrateur de service ou un propriétaire de projet disposant de l'autorisation IAM serviceusage.services.enable.

  1. Pour activer l'API Gemini pour Google Cloud, accédez à la page Gemini pour Google Cloud dans la Google Cloud Marketplace. Accéder à Gemini pour Google Cloud
  2. Dans le sélecteur de projet, sélectionnez un projet.
  3. Cliquez sur Activer. La page est mise à jour et affiche l'état Enabled (Activé). Gemini dans BigQuery est désormais disponible dans le projet Google Cloud sélectionné pour tous les utilisateurs disposant des autorisations IAM requises.

Configurer des rôles et des autorisations pour développer des préparations de données

  1. Dans "IAM et administration", sélectionnez "IAM".

4477412d79f29e0b.png

  1. Sélectionnez votre utilisateur, puis cliquez sur l'icône en forme de crayon pour "Modifier le principal".

5eb558e04ad12362.png

Pour utiliser la préparation de données BigQuery, vous devez disposer des rôles et des autorisations suivants:

4. Rechercher et s'abonner à la fiche "Préparation de données bq" dans BigQuery Analytics Hub

Nous utiliserons l'ensemble de données bq data preparation demo pour ce tutoriel. Il s'agit d'un ensemble de données associé dans BigQuery Analytics Hub que nous allons lire.

La préparation des données n'écrit jamais dans la source. Nous vous demanderons de définir une table de destination dans laquelle écrire. La table que nous utiliserons pour cet exercice ne comporte que 1 000 lignes afin de réduire les coûts au maximum,mais la préparation des données s'exécute dans BigQuery et s'adapte en conséquence.

Pour trouver et vous abonner à l'ensemble de données associé, procédez comme suit:

  1. Accédez à Analytics Hub: dans la console Google Cloud, accédez à BigQuery.
  2. Dans le menu de navigation de BigQuery, sous "Gestion", sélectionnez "Hub Analytics".

6ddfac4dd863ca7b.png

  1. Recherchez la fiche: dans l'interface utilisateur d'Analytics Hub, cliquez sur Rechercher des fiches.
  2. Saisissez bq data preparation demo dans la barre de recherche, puis appuyez sur Entrée.

7e0cb82b80174cdc.png

  1. S'abonner à la fiche: sélectionnez la fiche bq data preparation demo dans les résultats de recherche.
  2. Sur la page d'informations de la fiche, cliquez sur le bouton S'abonner.
  3. Consultez les boîtes de dialogue de confirmation et mettez à jour le projet/l'ensemble de données si nécessaire. Les valeurs par défaut doivent normalement convenir.

2ef0ac1e3557f2f9.png

  1. Accéder à l'ensemble de données dans BigQuery: une fois que vous vous êtes abonné, les ensembles de données de la fiche sont associés à votre projet BigQuery.

Revenez dans BigQuery Studio.

5. Explorer les données et lancer la préparation des données

  1. Recherchez l'ensemble de données et la table: dans le panneau "Explorateur", sélectionnez votre projet, puis recherchez l'ensemble de données inclus dans la liste bq data preparation demo. Sélectionnez la table stg_product.
  2. Ouvrir dans Data Prep: cliquez sur les trois points verticaux à côté du nom du tableau, puis sélectionnez Open in Data Preparation.

La table s'ouvre dans l'interface de préparation des données, et vous pouvez commencer à transformer vos données.

76ace3d4b5cfc2d0.png

Comme vous pouvez le voir dans l'aperçu des données ci-dessous, nous allons devoir relever certains défis liés aux données:

  • La colonne "Prix" contient à la fois le montant et la devise, ce qui rend l'analyse difficile.
  • La colonne "Produit" contient le nom et la catégorie du produit (séparés par un symbole |).

f4d93aa59a56447a.png

Gemini analyse immédiatement vos données et suggère plusieurs transformations. Dans cet exemple, nous voyons un certain nombre de recommandations. Nous les appliquerons à l'étape suivante.

fd4d14e4fa3c31c1.png

6. Gérer la colonne "Prix"

Commençons par la colonne Price (Prix). Comme nous l'avons vu, il contient à la fois la devise et le montant. Notre objectif est de les séparer en deux colonnes distinctes : "Devise" et "Montant".

Gemini a identifié plusieurs recommandations pour la colonne "Prix".

  1. Recherchez une recommandation qui se présente comme suit:

Description: "Cette expression supprime le "USD" au début du champ spécifié"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Sélectionnez "Aperçu".

c9327cfbd32247d6.png

  1. Sélectionnez "Appliquer".

Pour la colonne Price (Prix), convertissons le type de données de STRING en NUMERIC.

  1. Recherchez une recommandation qui se présente comme suit:

Description: "Convertit la colonne "Prix" du type "chaîne" en "float64"."

SAFE_CAST(Price AS float64)
  1. Sélectionnez "Appliquer".

Trois étapes appliquées devraient maintenant s'afficher dans votre liste.

d3359af47dce0c15.png

7. Gérer la colonne "Produit"

La colonne "Produit" contient à la fois le nom et la catégorie du produit, séparés par une barre oblique (|).

Nous pourrions à nouveau utiliser le langage naturel, mais explorons une autre fonctionnalité puissante de Gemini.

Nettoyer le nom du produit

  1. Sélectionnez la partie de la catégorie d'une entrée de produit, y compris le caractère |, puis supprimez-la.

5171d598a8cb3a75.png

Gemini reconnaîtra intelligemment ce modèle et suggérera une transformation à appliquer à l'ensemble de la colonne.

  1. Sélectionnez "Modifier".

b36cac918b4f30e9.png

La recommandation de Gemini est parfaite: elle supprime tout ce qui suit le caractère |, isolant ainsi le nom du produit.

Mais cette fois, nous ne voulons pas écraser nos données d'origine.

  1. Dans le menu déroulant de la colonne cible, sélectionnez "Créer une colonne".
  2. Définissez le nom sur ProductName.

bda19e0e5e536ccd.png

  1. Prévisualisez les modifications pour vous assurer qu'elles sont correctes.
  2. Appliquez la transformation.

Extraire la catégorie de produits

À l'aide du langage naturel, nous allons demander à Gemini d'extraire le mot après la barre verticale (|) dans la colonne "Produit". Cette valeur extraite sera écrasée dans la colonne existante intitulée "Produit".

  1. Cliquez sur Add Step pour ajouter une étape de transformation.

77944047e698494c.png

  1. Sélectionnez Transformation dans le menu déroulant.
  2. Dans le champ de requête en langage naturel, saisissez "extrayez le mot après le pipe (|) dans la colonne "Produit"." Appuyez ensuite sur Entrée pour générer la requête SQL.

82efc2447a3210bd.png

  1. Laissez la colonne cible définie sur "Produit".
  2. Cliquez sur "Appliquer".

La transformation doit vous donner les résultats suivants.

d741c66d9e0e8e00.png

8. Associer des données pour les enrichir

Vous voudrez souvent enrichir vos données avec des informations provenant d'autres sources. Dans notre exemple, nous allons joindre nos données produit aux attributs produit étendus, stg_extended_product, à partir d'un tableau tiers. Ce tableau inclut des informations telles que la marque et la date de lancement.

  1. Cliquez sur Add Step.
  2. Sélectionner Join
  3. Accédez à la table stg_extended_product.

dca14451c3fbc7f0.png

Gemini dans BigQuery a automatiquement sélectionné la clé de jointure productid pour nous et a qualifié les côtés gauche et droit, car le nom de la clé est identique.

Remarque: Assurez-vous que le champ de description indique "Joindre par productid". S'il inclut des clés de jointure supplémentaires, remplacez le champ de description par "Joindre par productid", puis sélectionnez le bouton de génération dans le champ de description pour générer à nouveau l'expression de jointure avec la condition suivante : L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Vous pouvez également sélectionner "Aperçu" pour prévisualiser les résultats.
  2. Cliquez sur Apply.

Nettoyer les attributs étendus

La jointure a bien été effectuée, mais les données des attributs étendus doivent être nettoyées. Les formats de date de la colonne LaunchDate sont incohérents, et la colonne Brand contient des valeurs manquantes.

Commençons par la colonne LaunchDate.

f9b570d7c2d3a98d.png

Avant de créer des transformations, consultez les recommandations de Gemini.

  1. Cliquez sur le nom de la colonne LaunchDate. Des recommandations semblables à celles de l'image ci-dessous devraient s'afficher.

62b6e6027a46ba75.png

  1. Si une recommandation s'affiche avec le code SQL suivant, appliquez-la et ignorez les étapes suivantes.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Si aucune recommandation ne correspond à la requête SQL ci-dessus, cliquez sur Add Step.
  2. Sélectionnez Transformation.
  3. Dans le champ SQL, saisissez ce qui suit:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Définissez Target Columns sur LaunchDate.
  2. Cliquez sur Apply.

La colonne "LaunchDate" (Date de lancement) affiche désormais un format de date cohérent.

ccf34aa05754a834.png

9. Ajouter un tableau de destination

Notre ensemble de données est maintenant nettoyé et prêt à être chargé dans une table de dimension de notre entrepôt de données.

  1. Cliquez sur ADD STEP.
  2. Sélectionnez Destination.
  3. Renseignez les paramètres requis: Ensemble de données: bq_data_preparation_demo Tableau: DimProduct
  4. Cliquez sur Save.

79fdc3666a3a21b9.png

Nous avons maintenant travaillé avec les onglets "Données" et "Schéma". En outre, BigQuery Data Preparation propose une vue "Graphique" qui affiche visuellement la séquence des étapes de transformation de votre pipeline.

95e64d8152228f7b.png

10. Bonus A: Gérer la colonne "Manufacturer" (Fabricant) et créer un tableau d'erreurs

Nous avons également identifié des valeurs vides dans la colonne Manufacturer. Pour ces enregistrements, nous souhaitons implémenter un contrôle de la qualité des données et les déplacer vers une table d'erreurs pour un examen plus approfondi.

Créer un tableau d'erreurs

  1. Cliquez sur le bouton More à côté du titre stg_product data preparation.
  2. Dans la section Setting, sélectionnez Error Table.
  3. Cochez la case Enable error table, puis configurez les paramètres comme suit:
  • Ensemble de données: sélectionnez bq_data_preparation_demo.
  • Tableau: saisissez err_dataprep
  • Sous Define duration for keeping errors, sélectionnez 30 days (default).
  1. Cliquez sur Save.

adb5722f05c1b205.png

Configurer la validation dans la colonne "Fabricant"

  1. Sélectionnez la colonne "Fabricant".
  2. Gemini aura probablement identifié une transformation pertinente. Recherchez la recommandation qui ne conserve que les lignes où le champ "Fabricant" n'est pas vide. Il contiendra un code SQL semblable à celui-ci:
Manufacturer IS NOT NULL

2.Cliquez sur le bouton "Modifier" de cette recommandation pour l'examiner.

4749b551a03d8193.png

  1. Cochez l'option Les lignes de validation ayant échoué sont envoyées vers la table d'erreurs si elle n'est pas cochée.
  2. Cliquez sur Apply.

Vous pouvez à tout moment examiner, modifier ou supprimer les transformations que vous avez appliquées en cliquant sur le bouton "Étapes appliquées".

15df6caacbdd6a69.png

Nettoyer la colonne ProductID_1 redondante

La colonne ProductID_1, qui duplique le ProductID de notre table jointe, peut maintenant être supprimée.

  1. Accédez à l'onglet Schema.
  2. Cliquez sur les trois points à côté de la colonne ProductID_1.
  3. Cliquez sur Drop.

Nous sommes maintenant prêts à exécuter la tâche de préparation des données et à valider l'intégralité de notre pipeline. Une fois que nous sommes satisfaits des résultats, nous pouvons programmer l'exécution automatique de la tâche.

  1. Avant de quitter la vue de préparation des données, enregistrez vos préparations. À côté du titre stg_product data preparation, un bouton Save devrait s'afficher. Cliquez sur le bouton pour enregistrer.

11. Nettoyer l'environnement

  • Supprimez stg_product data preparation.
  • Supprimer l'ensemble de données bq data preparation demo

12. Félicitations

Bravo ! Vous avez terminé cet atelier de programmation.

Points abordés

  • Configurer la préparation des données
  • Ouvrir des tables et parcourir la préparation des données
  • Diviser des colonnes avec des données numériques et des descripteurs d'unité
  • Standardiser les formats de date
  • Exécuter des préparations de données