GSP071

Présentation
Sans le matériel et l'infrastructure adaptés, stocker et interroger des ensembles de données volumineux peut s'avérer chronophage et coûteux. BigQuery est un entrepôt de données cloud sans serveur hautement évolutif qui résout ce problème en permettant d'effectuer des requêtes SQL ultra-rapides grâce à la puissance de traitement de l'infrastructure de Google. Il vous suffit de transférer vos données dans BigQuery. Nous nous chargeons du reste. Vous pouvez contrôler l'accès au projet et à vos données en fonction des besoins de votre entreprise, par exemple en autorisant d'autres personnes à afficher vos données ou à les interroger.
Vous pouvez accéder à BigQuery via la console, l'interface utilisateur Web ou un outil de ligne de commande en utilisant diverses bibliothèques clientes telles que Java, .NET ou Python. Plusieurs fournisseurs de solutions permettent également d'interagir avec BigQuery.
Dans cet atelier pratique, vous allez apprendre à utiliser bq
, l'outil de ligne de commande basé sur Python pour BigQuery, afin d'interroger des tables publiques et de charger des exemples de données dans BigQuery.
Objectifs de l'atelier
- Interroger un ensemble de données public
- Créer un ensemble de données
- Charger des données dans une nouvelle table
- Interroger une table personnalisée
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.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Examiner une table
BigQuery propose plusieurs exemples de tables sur lesquels vous pouvez exécuter des requêtes. Dans cet atelier, vous allez exécuter des requêtes sur la table shakespeare
, qui contient une entrée pour chaque mot apparaissant dans les pièces de l'auteur.
Pour examiner le schéma de la table Shakespeare dans l'ensemble de données "samples", exécutez la commande suivante :
bq show bigquery-public-data:samples.shakespeare
Dans cette commande :
-
bq
appelle l'outil de ligne de commande de BigQuery.
-
show
est l'action.
- Vous indiquez ensuite la table que vous voulez consulter en précisant le nom du projet, de l'ensemble de données et de la table dans BigQuery (
project:public dataset.table
).
Résultat :
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------------------------ ------------ ------------- ------------ ------------------- ------------------ --------
14 Mar 13:16:45 |- word: string (required) 164656 6432064
|- word_count: integer (required)
|- corpus: string (required)
|- corpus_date: integer (required)
Tâche 2 : Exécuter la commande help
Lorsque vous incluez le nom d'une commande dans les commandes help, vous obtenez des informations la concernant.
- Par exemple, l'appel de
bq help
présenté ci-dessous permet de récupérer des informations relatives à la commande query
:
bq help query
- Pour afficher la liste de toutes les commandes utilisées par
bq
, il suffit d'exécuter bq help
.
Tâche 3 : Exécuter une requête
Vous allez maintenant exécuter une requête pour savoir combien de fois la sous-chaîne "raisin" apparaît dans les œuvres de Shakespeare.
- Pour exécuter une requête, lancez la commande
bq query "[SQL_STATEMENT]"
:
- Exécutez la requête SQL standard suivante dans Cloud Shell pour recenser le nombre de fois où la sous-chaîne "raisin" apparaît dans l'ensemble des œuvres de Shakespeare.
bq query --use_legacy_sql=false \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Dans cette commande :
-
--use_legacy_sql=false
fait du langage SQL standard la syntaxe de requête par défaut.
Résultat :
Waiting on job_e19 ... (0s) Current status: DONE
+---------------+-------+
| word | count |
+---------------+-------+
| praising | 8 |
| Praising | 4 |
| raising | 5 |
| dispraising | 2 |
| dispraisingly | 1 |
| raisins | 1 |
La table indique que le mot raisin n'apparaît jamais en entier. Cependant, les lettres qui le composent apparaissent dans l'ordre dans plusieurs œuvres de Shakespeare.
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à exécuter une requête sur un ensemble de données public, vous verrez une note s'afficher.
Exécuter une requête (ensemble de données : samples, table : shakespeare, sous-chaîne : raisin)
Si vous recherchez un mot qui ne figure pas dans les œuvres de Shakespeare, aucun résultat n'est renvoyé.
- Exécutez la recherche suivante, portant sur le terme huzzah. Elle ne renvoie aucun résultat.
bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "huzzah"'
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à exécuter une requête sur un ensemble de données public, vous verrez une note s'afficher.
Exécuter une requête (ensemble de données : samples, table : shakespeare, sous-chaîne : huzzah)
Tâche 4 : Créer une table
Maintenant, créez votre propre table. Chaque table est stockée dans un ensemble de données. Un ensemble de données correspond à un groupe de ressources telles que des tables et des vues.
Créer un ensemble de données
- Exécutez la commande
bq ls
pour afficher les ensembles de données existants dans votre projet :
bq ls
Vous êtes redirigé vers la ligne de commande, car votre projet ne comporte encore aucun ensemble de données.
- Exécutez
bq ls
avec l'ID de projet bigquery-public-data
suivi d'un deux-points (:) pour afficher les ensembles de données de ce projet en particulier :
bq ls bigquery-public-data:
Résultat :
datasetId
-----------------------------
austin_311
austin_bikeshare
austin_crime
austin_incidents
austin_waste
baseball
bitcoin_blockchain
bls
census_bureau_construction
census_bureau_international
census_bureau_usa
census_utility
chicago_crime
...
Maintenant, créez un ensemble de données. Le nom de l'ensemble de données doit comporter 1 024 caractères maximum et contenir uniquement des lettres (A-Z, a-z), des chiffres (0-9) et des traits de soulignement. Il ne doit pas commencer par un nombre ou un trait de soulignement ni comporter d'espaces.
- Utilisez la commande
bq mk
pour créer un ensemble de données nommé babynames
dans votre projet :
bq mk babynames
Exemple de résultat :
Dataset 'qwiklabs-gcp-ba3466847fe3cec0:babynames' successfully created.
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à créer un ensemble de données BigQuery nommé babynames, vous verrez une note s'afficher.
Créer un ensemble de données appelé babynames
- Exécutez la commande
bq ls
pour vérifier que l'ensemble de données apparaît désormais dans votre projet :
bq ls
Exemple de résultat :
datasetId
-------------
babynames
Importer l'ensemble de données
Avant de pouvoir créer la table, vous devez ajouter l'ensemble de données à votre projet. Le fichier de données personnalisées que vous utiliserez contient environ 7 Mo de données correspondant aux prénoms populaires donnés aux bébés. Il est fourni par l'Administration de la sécurité sociale des États-Unis.
- Exécutez la commande suivante pour ajouter le fichier ZIP des prénoms de bébé à votre projet en utilisant l'URL du fichier de données :
wget http://www.ssa.gov/OACT/babynames/names.zip
- Affichez le fichier :
ls
Le nom du fichier apparaît désormais dans votre projet.
- Décompressez le fichier :
unzip names.zip
- Vous obtenez une longue liste de fichiers texte. Affichez à nouveau les fichiers :
ls
La commande bq load
crée ou met à jour une table, et y charge des données en une seule et même opération.
À l'aide de la commande bq load
, vous allez charger votre fichier source dans une nouvelle table, intitulée names2010, dans l'ensemble de données babynames que vous venez de créer. Par défaut, l'exécution de cette commande s'effectue de manière synchrone et prend quelques secondes.
Les arguments bq load
que vous allez exécuter sont :
datasetID: babynames
tableID: names2010
source: yob2010.txt
schema: name:string,gender:string,count:integer
- Créez votre table :
bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer
Exemple de résultat :
Waiting on job_4f0c0878f6184119abfdae05f5194e65 ... (35s) Current status: DONE
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à charger des données dans une table de l'ensemble de données, vous verrez une note s'afficher.
Charger des données dans une nouvelle table
- Exécutez la commande
bq ls
avec babynames
pour vérifier que la table apparaît désormais dans votre ensemble de données :
bq ls babynames
Résultat :
tableId Type
----------- -------
names2010 TABLE
- Exécutez la commande
bq show
en indiquant votre ensemble de données et votre table (dataset.table
) pour afficher le schéma de la table :
bq show babynames.names2010
Résultat :
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Labels
----------------- ------------------- ------------ ------------- ----------------- ------------------- ------------------ --------
13 Aug 14:37:34 |- name: string 34073 654482 12 Oct 14:37:34
|- gender: string
|- count: integer
Remarque : Par défaut, lorsque vous chargez des données, BigQuery s'attend à ce qu'elles soient encodées au format UTF-8. Si vos données utilisent l'encodage ISO-8859-1 (ou Latin-1) et que vous rencontrez des problèmes avec les données chargées, vous pouvez demander expressément à BigQuery de traiter vos données avec l'encodage Latin-1 à l'aide de l'option -E
. Pour en savoir plus sur l'encodage des caractères, consultez le guide Présentation du chargement des données.
Tâche 5 : Exécuter des requêtes
Vous pouvez maintenant interroger les données pour obtenir des résultats intéressants.
- Exécutez la commande suivante pour obtenir la liste des cinq prénoms de fille les plus populaires :
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5"
Résultat :
Waiting on job_58c0f5ca52764ef1902eba611b71c651 ... (0s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Isabella | 22913 |
| Sophia | 20643 |
| Emma | 17345 |
| Olivia | 17028 |
| Ava | 15433 |
+----------+-------+
- Exécutez la commande suivante pour obtenir la liste des cinq prénoms de garçon les moins courants :
bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5"
Remarque : Le nombre minimal est cinq, car les données sources ne tiennent pas compte des prénoms pour lesquels moins de cinq occurrences sont comptabilisées.
Résultat :
Waiting on job_556ba2e5aad340a7b2818c3e3280b7a3 ... (1s) Current status: DONE
+----------+-------+
| name | count |
+----------+-------+
| Aaqib | 5 |
| Aaidan | 5 |
| Aadhavan | 5 |
| Aarian | 5 |
| Aamarion | 5 |
+----------+-------+
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à interroger un ensemble de données personnalisé, vous verrez une note s'afficher.
Exécuter des requêtes sur une table de votre ensemble de données
Tâche 6 : Tester vos connaissances
Voici quelques questions à choix multiples qui vous permettront de mieux maîtriser les concepts abordés lors de cet atelier. Répondez-y du mieux que vous le pouvez.
Tâche 7 : Effectuer un nettoyage
- Exécutez la commande
bq rm
pour supprimer l'ensemble de données babynames
, en ajoutant l'option -r
pour effacer toutes les tables de l'ensemble de données :
bq rm -r babynames
- Confirmez la commande de suppression en saisissant
Y
.
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à supprimer l'ensemble de données babynames, vous verrez une note s'afficher.
Supprimer l'ensemble de données babynames
Félicitations !
Vous pouvez maintenant utiliser la ligne de commande pour interroger des tables publiques et charger des exemples de données dans BigQuery.
Étapes suivantes et informations supplémentaires
Cet atelier fait partie d'une série appelée "Qwik Starts". Les ateliers de cette série sont conçus pour vous donner un aperçu des nombreuses fonctionnalités proposées par Google Cloud. Pour suivre un autre atelier, recherchez "Qwik Starts" dans le catalogue.
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 mise à jour du manuel : 02 mai 2025
Dernier test de l'atelier : 02 mai 2025
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.