arrow_back

BigQuery : Qwik Start – Ligne de commande

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

BigQuery : Qwik Start – Ligne de commande

Lab 30 minutes universal_currency_alt No cost show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP071

Google Cloud – Ateliers adaptés au rythme de chacun

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 à utiliserbq, 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 publique

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. 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.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. 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 aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

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.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console 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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 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.

  1. 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
  1. Pour afficher la liste de toutes les commandes utilisées par bq, exécutez 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.

  1. Pour exécuter une requête, lancez la commande bq query "[SQL_STATEMENT]" :
  • Échappez les éventuels guillemets utilisés dans l'instruction [SQL_STATEMENT] à l'aide du symbole \.

  • Utilisez un type de guillemets autre que celui servant à englober l'instruction (' au lieu de ").

  1. 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 recevez une note d'évaluation.

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 recevez une note d'évaluation.

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, qui est un groupe de ressources telles que des tables et des vues.

Créer un ensemble de données

  1. 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.

  1. 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.

  1. 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 recevez une note d'évaluation.

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.

  1. 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 :
curl -LO http://www.ssa.gov/OACT/babynames/names.zip
  1. Affichez le fichier :
ls

Le nom du fichier apparaît désormais dans votre projet.

  1. Décompressez le fichier :
unzip names.zip
  1. 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
  1. 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 recevez une note d'évaluation.

Charger des données dans une nouvelle table
  1. 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
  1. 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.

  1. 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 | +----------+-------+
  1. 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 recevez une note d'évaluation.

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

  1. 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
  1. 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 recevez une note d'évaluation.

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 présenter brièvement les 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 : 26 janvier 2024

Dernier test de l'atelier : 24 août 2023

Copyright 2024 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.