Charger et interroger des données avec l'outil bq
Découvrez comment créer un ensemble de données, charger des exemples de données et interroger des tables à l'aide de l'outil de ligne de commande bq.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Vérifiez que l'API BigQuery est activée.
Si vous avez créé un nouveau projet, l'API BigQuery est automatiquement activée.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Si vous n'activez pas la facturation pour le projet Cloud que vous utilisez dans ce tutoriel, vous utiliserez les données du bac à sable BigQuery. Le bac à sable BigQuery vous permet d'apprendre à utiliser BigQuery avec un ensemble limité de fonctionnalités offertes.
Télécharger le fichier de données publiques source
- Téléchargez le fichier ZIP des prénoms donnés aux enfants.
- Extrayez le fichier ZIP. Il contient un fichier nommé
NationalReadMe.pdf
, qui décrit le schéma de l'ensemble de données. En savoir plus sur l'ensemble de données des prénoms donnés aux enfants - Ouvrez le fichier
yob2010.txt
. Il s'agit d'un fichier CSV contenant les trois colonnes suivantes : prénom, genre attribué à la naissance et nombre d'enfants portant ce prénom. Le fichier ne comporte pas de ligne d'en-tête. - Déplacez le fichier vers votre répertoire de travail.
- Si vous utilisez Cloud Shell, cliquez sur
> Importer, cliquez sur Sélectionner des fichiers, choisissez le fichier Plus yob2010.txt
, puis cliquez sur Importer. - Si vous utilisez un shell local, copiez ou déplacez le fichier
yob2010.txt
dans le répertoire dans lequel vous exécutez l'outil bq.
- Si vous utilisez Cloud Shell, cliquez sur
Créer un ensemble de données
Créez un ensemble de données nommé
babynames
:bq mk babynames
Le résultat ressemble à ce qui suit :
Dataset 'myproject:babynames' successfully created.
Le nom d'un ensemble de données peut comporter jusqu'à 1 024 caractères et comprend les caractères suivants : A-Z, a-z, 0-9 et trait de soulignement. Le nom ne peut pas commencer par un chiffre ni un trait de soulignement, et ne peut pas contenir d'espace.
Vérifiez que l'ensemble de données
babynames
apparaît maintenant dans votre projet :bq ls
Le résultat ressemble à ce qui suit :
datasetId ------------- babynames
Charger des données dans une table
Dans l'ensemble de données
babynames
, chargez le fichier sourceyob2010.txt
dans une nouvelle table nomméenames2010
:bq load babynames.names2010 yob2010.txt name:string,assigned_sex_at_birth:string,count:integer
Le résultat ressemble à ce qui suit :
Upload complete. Waiting on bqjob_r3c045d7cbe5ca6d2_0000018292f0815f_1 ... (1s) Current status: DONE
Par défaut, lorsque vous chargez des données dans BigQuery, ces dernières doivent être encodées au format UTF-8. Si vous utilisez l'encodage ISO-8859-1 (ou Latin-1) et que vous rencontrez des problèmes avec celui-ci, indiquez à BigQuery de traiter vos données avec l'encodage Latin-1 à l'aide de
bq load -E=ISO-8859-1
. Pour en savoir plus, consultez la section Encodage.Vérifiez que la table
names2010
apparaît maintenant dans l'ensemble de donnéesbabynames
:bq ls babynames
Le résultat renvoyé ressemble à ceci : Certaines colonnes sont omises pour simplifier la sortie.
tableId Type ----------- --------- names2010 TABLE
Vérifiez que le schéma de la table de votre nouvelle table
names2010
estname: string
,assigned_sex_at_birth: string
etcount: integer
:bq show babynames.names2010
Le résultat renvoyé ressemble à ceci : Certaines colonnes sont omises pour simplifier la sortie.
Last modified Schema Total Rows Total Bytes ----------------- ------------------------------- ------------ ------------ 14 Mar 17:16:45 |- name: string 34089 654791 |- assigned_sex_at_birth: string |- count: integer
Interroger les données de la table
Déterminez les prénoms de filles les plus populaires dans les données :
bq query --use_legacy_sql=false \ 'SELECT name, count FROM `babynames.names2010` WHERE assigned_sex_at_birth = "F" ORDER BY count DESC LIMIT 5;'
Le résultat ressemble à ce qui suit :
+----------+-------+ | name | count | +----------+-------+ | Isabella | 22925 | | Sophia | 20648 | | Emma | 17354 | | Olivia | 17030 | | Ava | 15436 | +----------+-------+
Déterminez les prénoms de garçons les moins populaires dans les données :
bq query --use_legacy_sql=false \ 'SELECT name, count FROM `babynames.names2010` WHERE assigned_sex_at_birth = "M" ORDER BY count ASC LIMIT 5;'
Le résultat ressemble à ce qui suit :
+----------+-------+ | name | count | +----------+-------+ | Aamarion | 5 | | Aarian | 5 | | Aaqib | 5 | | Aaidan | 5 | | Aadhavan | 5 | +----------+-------+
Le nombre minimal est cinq, car les données sources omettent les prénoms pour lesquels moins de cinq occurrences sont comptabilisées.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.
Supprimer le projet
Si vous avez utilisé le bac à sable BigQuery pour interroger l'ensemble de données public, la facturation n'est pas activée pour votre projet.Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer les ressources
Si vous avez utilisé un projet existant, supprimez les ressources que vous avez créées :
Supprimez l'ensemble de données
babynames
:bq rm --recursive=true babynames
L'option
--recursive
supprime toutes les tables de l'ensemble de données, y compris la tablenames2010
.Le résultat ressemble à ce qui suit :
rm: remove dataset 'myproject:babynames'? (y/N)
Pour confirmer la commande de suppression, saisissez
y
.
Étapes suivantes
- En savoir plus sur l'utilisation de l'outil bq.
- Découvrez le bac à sable BigQuery.
- En savoir plus sur le chargement de données dans BigQuery
- Découvrir comment interroger des données dans BigQuery
- Consulter les notes de version de BigQuery
- Découvrez les tarifs de BigQuery.
- Découvrez les quotas et limites de BigQuery.