GSP1258

Présentation
Supposons que vous occupiez le poste d'analyste de données chez Data Beans depuis quelques mois. Après avoir mené à bien plusieurs projets avec vos collègues, on vous confie votre premier projet solo. Vous commencez à créer des requêtes complexes sans trop d'aide, mais il vous a été demandé d'écrire des requêtes encore plus élaborées afin d'obtenir des insights plus détaillés. Bien que tous les membres de l'équipe soient disposés à vous aider, il est temps de prouver que vous êtes capable de travailler de façon plus autonome.
Vous avez découvert que les fonctionnalités de génération, d'explication et de transformation du code SQL BigQuery pouvaient vous aider à écrire des requêtes plus complexes en langage naturel. Vous avez également appris que vous pouviez examiner et déboguer votre code à l'aide de Gemini si vous rencontriez des difficultés au moment d'écrire une nouvelle requête. Gemini peut même vous fournir des suggestions pour résoudre des problèmes. L'utilisation de ces fonctionnalités vous permettra d'être plus autonome dans votre travail et, potentiellement, de gagner en efficacité. Toutefois, vous ne savez pas par où commencer.
Objectifs
Dans cet atelier, vous allez apprendre à :
- générer une requête SQL à l'aide d'une requête en langage naturel ;
- utiliser la fonctionnalité d'explication de code de BigQuery ;
- modifier le code SQL avec la fonctionnalité de transformation de BigQuery ;
- demander à Gemini d'examiner et de déboguer le code SQL dans BigQuery ;
- demander des suggestions à Gemini pour résoudre un problème lié au code SQL.
Enfin, vous aurez le temps de réfléchir à ce que vous avez appris dans cet atelier et à la manière dont vous pourriez appliquer la génération, l'explication et la transformation de code, ainsi que les suggestions, à vos données, cas d'utilisation et workflows en répondant aux questions du journal de l'atelier.
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Tâche 1 : Passer en revue les tables "menu" et "order_item"
Cette tâche consiste à examiner le schéma des tables "menu" et "order_item".
Important : Si vous n'examinez pas le schéma de ces tables, vous ne pourrez pas effectuer les autres tâches de cet atelier.
Examiner le schéma de la table "menu"
-
Dans la console Google Cloud, accédez au menu de navigation, puis cliquez sur BigQuery.
-
Cliquez sur OK dans la boîte de dialogue de bienvenue.
-
Dans le panneau Explorateur, développez le projet . L'ensemble de données coffee_on_wheels
s'affiche en bas de la liste.
-
Développez l'ensemble de données coffee_on_wheels. La table menu
s'affiche.
-
Cliquez sur la table menu. Le schéma menu
s'affiche.
-
Examinez les détails du schéma.
-
Répondez à la question suivante :
Quels champs utilisent le type de données FLOAT ?
Examiner le schéma de la table "order_item"
-
Cliquez sur la table order_item. Le schéma order_item
s'affiche.
-
Examinez les détails du schéma.
-
Répondez à la question suivante :
Quels champs utilisent le type de données INTEGER ?
Tâche 2 : Générer une requête SQL à l'aide d'une requête en langage naturel
Dans cette tâche, vous allez générer une requête SQL à l'aide d'une requête en langage naturel afin d'obtenir les identifiants des trois éléments de menu les plus et les moins vendus, ainsi que les revenus correspondants, en les classant selon le revenu total.
-
Cliquez sur
pour créer une requête SQL. Un nouvel onglet s'affiche dans BigQuery Studio.
-
Cliquez sur
pour accéder à l'outil de génération SQL. La boîte de dialogue "Générer du code SQL avec Gemini" s'affiche. Vous pouvez saisir une requête en langage naturel dans cette fenêtre pour générer une nouvelle instruction SQL.
-
Saisissez la requête ci-dessous.
Afficher les identifiants des trois éléments de menu les plus et les moins vendus ainsi que les revenus correspondants à partir de la table "order_item", en les classant selon le revenu total
-
Cliquez sur Générer. Vous constatez que Gemini crée une instruction SQL semblable à l'exemple ci-dessous.
(
SELECT
menu_id,
SUM(item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item`
GROUP BY 1
ORDER BY
total_revenue DESC
LIMIT 3
)
UNION ALL
(
SELECT
menu_id,
SUM(item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item`
GROUP BY 1
ORDER BY
total_revenue
LIMIT 3
);
-
Cliquez sur INSÉRER. La requête que vous avez générée est ajoutée à l'onglet "Requête sans titre".
Expliquer la requête
-
Sélectionnez la requête.
-
Cliquez sur
juste à gauche de la requête.
-
Cliquez sur Expliquer cette requête.
-
La boîte de dialogue de Gemini s'ouvre à droite de BigQuery Studio.
-
Cliquez sur Commencer à discuter. Vous obtenez une explication semblable à l'exemple ci-dessous pour la requête dans la fenêtre de chat.
-
Consultez l'explication. Gemini génère un résumé de la réponse comme suit :
En résumé, cette requête permet d'identifier les éléments de menu les plus prisés en fonction des revenus qu'ils génèrent. Vous obtenez ainsi de précieux insights pour prendre des décisions commerciales.
-
Cliquez sur EXÉCUTER. La requête renvoie six éléments de menu : les trois les plus vendus et les trois les moins vendus.
Temps de réflexion
- En tenant compte de vos données et de vos cas d'utilisation dans BigQuery, comment utiliseriez-vous la fonctionnalité de génération de code ?
- De plus, comment exploiteriez-vous la fonctionnalité d'explication de code ?
Cliquez sur Vérifier ma progression pour valider l'objectif.
Récupérer les identifiants des trois éléments de menu ayant généré les revenus les plus élevés et les plus faibles
Tâche 3 : Transformer une requête
La requête que vous avez créée lors de la tâche précédente est utile, mais elle omet certaines informations importantes. Par exemple, vous ne connaissez pas le nom des éléments de menu, et la colonne "total_revenue" contient des décimales superflues.
Pour obtenir le nom des éléments de menu, vous allez devoir joindre les tables "menu" et "order_item". Vous pouvez également mettre en forme le champ "total_revenue" de sorte que seules deux décimales s'affichent.
Dans cette tâche, vous allez écrire des requêtes permettant de combler ces lacunes à l'aide de la fonctionnalité de transformation de Gemini.
Joindre les tables "menu" et "order_item" pour obtenir le nom des éléments de menu
-
Cliquez sur
pour créer une requête SQL. Un nouvel onglet s'affiche dans BigQuery Studio.
-
Cliquez sur
pour accéder à l'outil de génération SQL. La boîte de dialogue "Générer du code SQL avec Gemini" s'affiche. Vous pouvez saisir une requête en langage naturel dans cette fenêtre pour générer une nouvelle instruction SQL.
-
Saisissez la requête ci-dessous.
Joins les tables "menu" et "order_item", renvoie les champs "menu_id" et "item_name", et affiche les trois éléments les plus vendus et les moins vendus en fonction du champ "total_revenue".
-
Cliquez sur Générer. Vous constatez que Gemini crée une instruction SQL semblable à l'exemple ci-dessous.
(
SELECT
t1.menu_id,
t1.item_name,
SUM(t2.item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS t1
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS t2 ON t1.menu_id = t2.menu_id
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 3
)
UNION ALL
(
SELECT
t1.menu_id,
t1.item_name,
SUM(t2.item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS t1
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS t2 ON t1.menu_id = t2.menu_id
GROUP BY 1, 2
ORDER BY
total_revenue
LIMIT 3
);
-
Cliquez sur INSÉRER. La requête que vous avez générée est ajoutée à l'onglet "Requête sans titre".
Expliquer la requête
-
Sélectionnez la requête.
-
Cliquez sur
juste à gauche de la requête.
-
Cliquez sur Expliquer cette requête. L'explication contenant un résumé semblable à l'exemple ci-dessous s'affiche dans la fenêtre de chat Gemini :
Cette requête permet d'identifier rapidement et facilement les éléments les plus prisés du menu du café, facilitant ainsi la prise de décisions concernant l'inventaire, les tarifs et les ajustements à apporter au menu.
-
Examinez les détails de l'explication.
-
Cliquez sur EXÉCUTER. La requête renvoie six éléments de menu : les trois les plus vendus et les trois les moins vendus. Cependant, cette fois-ci, le champ "item_name" figure entre les champs "menu_id" et "total_revenue".
-
Répondez aux questions suivantes :
- Quel élément génère le plus de revenus ?
- Quel élément en génère le moins ?
Cliquez sur Vérifier ma progression pour valider l'objectif.
Joindre les tables "menu" et "order_item" pour obtenir le nom des éléments de menu
Transformer la requête pour supprimer les décimales superflues
-
Sélectionnez la requête.
-
Cliquez sur
pour accéder à l'outil de génération SQL.
-
Cliquez sur Transformer. Le pop-up "Transformer du code SQL avec Gemini" s'affiche.
-
Saisissez la requête suivante.
Mets en forme la colonne "total_revenue" de sorte que seules deux décimales s'affichent.
-
Cliquez sur GÉNÉRER. La nouvelle requête générée s'affiche.
Remarque : Observez comment BigQuery indique les différences dans le code (les lignes remplacées s'affichent sur fond rouge, tandis que les nouvelles lignes qui les modifient en fonction de votre requête sont sur fond vert).
-
Cliquez sur INSÉRER. La nouvelle requête s'affiche dans l'onglet "Requête sans titre".
(
SELECT
t1.menu_id,
t1.item_name,
ROUND(SUM(t2.item_total), 2) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS t1
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS t2 ON t1.menu_id = t2.menu_id
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 3
)
UNION ALL
(
SELECT
t1.menu_id,
t1.item_name,
ROUND(SUM(t2.item_total), 2) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS t1
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS t2 ON t1.menu_id = t2.menu_id
GROUP BY 1, 2
ORDER BY
total_revenue
LIMIT 3
);
-
Cliquez sur EXÉCUTER. Remarquez que le résultat est très similaire. Toutefois, le champ "total_revenue" ne comporte désormais que deux décimales.
Temps de réflexion
-
Quel est le revenu total généré par Clouds of Coffee Delight ?
-
En tenant compte de vos données et de vos cas d'utilisation dans BigQuery, comment utiliseriez-vous la fonctionnalité de génération de code ?
Cliquez sur Vérifier ma progression pour valider l'objectif.
Mettre en forme la colonne "total_revenue" de sorte qu'elle contienne deux décimales
Tâche 4 : Revue de code, débogage et suggestions
Lorsque vous utilisez Gemini avec BigQuery, vous pouvez également examiner et déboguer le code. Le cas échéant, Gemini suggère des modifications afin d'améliorer votre code et le rendre exempt d'erreurs.
Scénario
Votre collègue a créé le code SQL suivant :
SELECT
oi.menu_id,
m.item_name,
SUM(oi.item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS oi
INNER JOIN `{{{project_0.project_id|set at lab start}}}.menu` AS m ON oi.menu_id = m.menu_id
WHERE m.item_size = 'Small'
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 10;
L'objectif était de récupérer les 10 éléments de petite taille ayant généré le plus de revenus dans l'ensemble de données coffee_on_wheels
, en incluant les champs menu_id
, item_name
et total_revenue
.
Cependant, votre collègue indique qu'il obtient l'erreur suivante avec ce code SQL :
Introuvable : Ensemble de données : introuvable dans l'emplacement US
Il ne parvient pas à résoudre le problème.
Votre tâche consiste à résoudre les problèmes liés au code SQL généré par votre collègue à l'aide de Gemini et de l'ensemble de données coffee_on_wheels
.
Examiner le code
-
Cliquez sur
pour créer une requête SQL.
-
Saisissez la requête ci-dessous.
SELECT
oi.menu_id,
m.item_name,
SUM(oi.item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS oi
INNER JOIN `{{{project_0.project_id|set at lab start}}}.menu` AS m ON oi.menu_id = m.menu_id
WHERE m.item_size = 'Small'
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 10;
-
Cliquez sur EXÉCUTER. Vous confirmez que l'exécution de la requête échoue et que le message d'erreur suivant s'affiche :
Introuvable : Ensemble de données : introuvable dans l'emplacement US
Déboguer le code avec Gemini et corriger l'erreur
-
Accédez à la fenêtre de chat Gemini dans BigQuery.
-
Dans la fenêtre de chat, saisissez la question suivante.
Pourquoi l'erreur "Introuvable : Ensemble de données : introuvable dans l'emplacement US" s'affiche lorsque j'exécute cette requête ?
-
Appuyez sur <MAJ><ENTRÉE> (ou <MAJ><Entrée> sur Mac) pour créer une ligne dans la fenêtre de chat.
-
Sélectionnez la requête et copiez-la.
-
Collez-la immédiatement après la question que vous avez posée.
-
Appuyez sur <MAJ><ENTRÉE> (ou <MAJ><Entrée> sur Mac) pour créer une ligne dans la fenêtre de chat.
-
Saisissez la phrase suivante :
Proposez une nouvelle version du code afin de résoudre les problèmes.
-
Cliquez sur
. Vous obtenez une réponse de Gemini.
-
Examinez les suggestions de la réponse.
Ces suggestions vous permettent de déduire que le problème est probablement dû à l'absence du nom correct de l'ensemble de données coffee_on_wheels
dans l'instruction INNER JOIN pour la table "menu" dans la requête.
Une requête affinée contenant une solution potentielle semblable à l'exemple ci-dessous est proposée dans les suggestions :
SELECT
oi.menu_id,
m.item_name,
SUM(oi.item_total) AS total_revenue
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS oi
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS m ON oi.menu_id = m.menu_id
WHERE m.item_size = 'Small'
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 10;
-
Copiez la requête affinée.
-
Cliquez sur
pour ouvrir un nouvel onglet "Requête sans titre".
-
Collez la requête affinée dans le nouvel onglet "Requête sans titre".
-
Cliquez sur EXÉCUTER. Vous obtenez ainsi la liste des 10 éléments de menu de petite taille ayant généré le plus de revenus, ainsi que leur nom et le revenu total associé.
Ce résultat est très proche de l'objectif fixé par votre collègue. Il manque cependant un petit élément à cette requête affinée. Notez que le champ "total_revenue" contient des décimales superflues. Vous pouvez demander à Gemini de corriger cela en suivant les étapes ci-dessous.
Mettre en forme le champ "total_revenue" avec deux décimales uniquement
-
Dans la fenêtre de chat, adressez la requête suivante à Gemini.
J'ai besoin d'aide pour affiner cette requête.
-
Appuyez sur <MAJ><ENTRÉE> (ou <MAJ><Entrée> sur Mac) pour créer une ligne dans la fenêtre de chat.
-
Sélectionnez la requête et copiez-la.
-
Collez-la immédiatement après cette première partie de la requête.
-
Appuyez sur <MAJ><ENTRÉE> (ou <MAJ><Entrée> sur Mac) pour créer une ligne dans la fenêtre de chat.
-
Ajoutez le texte suivant à la fin de la requête.
Peux-tu refactoriser le code afin que le champ "total_revenue" soit arrondi à seulement deux décimales dans les résultats ?
-
Vérifiez que la requête se présente désormais comme suit :
J'ai besoin d'aide pour affiner cette requête. SELECT oi.menu_id, m.item_name, SUM(oi.item_total) AS total_revenue FROM `.coffee_on_wheels.order_item` AS oi INNER JOIN `.coffee_on_wheels.menu` AS m ON oi.menu_id = m.menu_id WHERE m.item_size = 'Small' GROUP BY 1, 2 ORDER BY total_revenue DESC LIMIT 10; Peux-tu refactoriser le code afin que le champ "total_revenue" soit arrondi à seulement deux décimales dans les résultats ?
-
Cliquez sur
. Voici la réponse de Gemini :
SELECT
oi.menu_id,
m.item_name,
ROUND(SUM(oi.item_total), 2) AS total_revenue -- Round to 2 decimal places
FROM
`{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.order_item` AS oi
INNER JOIN `{{{project_0.project_id|set at lab start}}}.coffee_on_wheels.menu` AS m ON oi.menu_id = m.menu_id
WHERE m.item_size = 'Small'
GROUP BY 1, 2
ORDER BY
total_revenue DESC
LIMIT 10;
Elle contient une explication semblable à l'exemple ci-dessous :
Pour restreindre le champ "total_revenue" à deux décimales, vous pouvez utiliser la fonction ROUND() dans BigQuery.
ROUND(SUM(oi.item_total), 2) : cette partie de la requête utilise la fonction ROUND() pour arrondir la somme de "oi.item_total" à deux décimales. Le chiffre 2 figurant à l'intérieur de la fonction ROUND() indique le nombre de chiffres à conserver après la virgule.
-
Copiez le code refactorisé.
-
Cliquez sur
pour ouvrir un nouvel onglet "Requête sans titre".
-
Collez la requête refactorisée dans le nouvel onglet "Requête sans titre".
-
Cliquez sur EXÉCUTER. Vous obtenez ainsi la liste des 10 éléments de menu de petite taille ayant généré le plus de revenus, ainsi que leur nom et le revenu total associé.
Vous confirmez que les résultats correspondent à vos attentes et renvoyez la requête à votre collègue. Il vous remercie pour votre aide.
Temps de réflexion
-
Répondez à cette question : "Quel est le nom de l'élément ayant généré le cinquième revenu le plus élevé ? Quel montant a-t-il permis de générer ?
-
En tenant compte de vos données et de vos cas d'utilisation, comment utiliseriez-vous les fonctionnalités de revue de code et de suggestion pour résoudre les problèmes de code ?
Cliquez sur Vérifier ma progression pour valider l'objectif.
Corriger l'erreur et récupérer les 10 éléments de menu de petite taille ayant généré le plus de revenus
Félicitations !
Vous avez généré une requête SQL à l'aide d'une requête en langage naturel et utilisé une explication de code pour comprendre les requêtes que vous ne connaissez pas. Vous avez également examiné et débogué le code à l'aide de Gemini. Vous lui avez demandé des suggestions pour améliorer ou corriger votre code. Vous maîtrisez davantage l'utilisation de Gemini dans BigQuery pour créer des requêtes avec et sans code. Vous savez même désormais comment résoudre les problèmes liés aux requêtes. Vous êtes de plus en plus à l'aise avec BigQuery au fil des jours, et vous pouvez vous servir de Gemini pour élargir vos connaissances et compétences.
Étapes suivantes et informations supplémentaires
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière modification du manuel : 6 novembre 2024
Dernier test de l'atelier : 6 novembre 2024
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.