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
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
Vérifiez que l'API BigQuery est activée.
Si vous avez créé un nouveau projet, l'API BigQuery est automatiquement activée.
-
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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 :
- Dans la console Google Cloud, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
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écouvrir 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
- En savoir plus sur les tarifs de BigQuery
- Découvrez les quotas et limites de BigQuery.