BigQuery est un entrepôt de données analytiques à l'échelle du pétaoctet que vous pouvez utiliser pour exécuter des requêtes SQL sur de grandes quantités de données, presque en temps réel.
Les outils de visualisation de données peuvent vous aider à interpréter les données BigQuery et à les analyser de manière interactive. Ils vous permettent d'identifier des tendances, d'agir en conséquence et d'effectuer des prédictions à l'aide de vos données. Dans ce tutoriel, vous allez utiliser la bibliothèque cliente BigQuery pour Python et Pandas dans un notebook Jupyter afin de visualiser les données de l'exemple de table BigQuery sur la natalité.
Objectifs
Dans ce tutoriel, vous allez effectuer les opérations suivantes :
- Configurer un environnement pour exécuter des blocs-notes Jupyter
- Interroger et visualiser des données BigQuery à l'aide de la bibliothèque cliente BigQuery Python et de Pandas
Coûts
BigQuery est un produit payant. Des coûts d'utilisation vous sont donc facturés lorsque vous y accédez. Selon la tarification des requêtes BigQuery, le premier To par mois est gratuit. Pour en savoir plus, consultez la page Prix.
Avant de commencer
Avant de commencer ce tutoriel, créez ou sélectionnez un projet à l'aide de Google Cloud Console.
- Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
- BigQuery est automatiquement activé dans les nouveaux projets. Pour activer BigQuery dans un projet préexistant, accédez à Activez l'API BigQuery. .
- BigQuery fournit un bac à sable si vous ne souhaitez pas ajouter une carte de crédit ni activer la facturation pour votre projet. Les étapes décrites sur cette page fonctionnent quel que soit l'état de facturation du projet. Si vous le souhaitez, vous pouvez également découvrir comment activer la facturation.
Configurer un environnement Jupyter local
Dans ce tutoriel, vous allez utiliser un notebook Jupyter hébergé localement. Suivez les étapes ci-dessous pour installer Jupyter et les bibliothèques Python requises, ainsi que pour configurer l'authentification.
Dans votre terminal, exécutez la commande suivante pour installer la dernière version de la bibliothèque cliente BigQuery pour Python, y compris la bibliothèque Pandas, requise pour les fonctions utilisant Pandas :
pip install --upgrade 'google-cloud-bigquery[pandas]'
Suivez les instructions d'installation indiquées dans la documentation de Jupyter pour installer Jupyter.
Suivez les instructions indiquées à la page Premiers pas avec l'authentification pour configurer les identifiants par défaut de l'application. Vous devez configurer l'authentification en créant un compte de service et en définissant une variable d'environnement.
Présentation des notebooks Jupyter
Un notebook fournit un environnement dans lequel créer et exécuter du code. Il s'agit essentiellement d'un artefact source, enregistré sous forme de fichier .ipynb
. Il peut inclure un contenu textuel descriptif, des blocs de code exécutables et les résultats associés (présentés au format HTML interactif). D'un point de vue structurel, un notebook correspond à une série de cellules.
Une cellule est un bloc de texte d'entrée qui est évalué pour produire des résultats. Les cellules peuvent être de deux types :
Des cellules de code contenant le code à évaluer. Les sorties et les résultats générés par l'exécution du code s'affichent immédiatement sous la ligne du code d'entrée.
Des cellules Markdown contenant du texte de balisage Markdown qui est converti au format HTML pour produire des en-têtes, des listes et du texte formaté.
La capture d'écran suivante représente une cellule Markdown suivie d'une cellule de code Python. Notez que la sortie de la cellule Python s'affiche immédiatement sous le code.
Chaque notebook ouvert est associé à une session en cours d'exécution, qui est également appelée "noyau" en Python. Cette session exécute tout le code saisi dans le notebook et gère l'état (variables, valeurs associées, fonctions et classes, ainsi que tout module Python existant que vous chargez).
Interroger et visualiser des données BigQuery
Dans cette section du tutoriel, vous allez créer un notebook Datalab utilisé pour interroger et visualiser des données dans BigQuery. Vous créerez les représentations visuelles à l'aide des données de l'exemple de table sur la natalité. Toutes les requêtes de ce tutoriel utilisent la syntaxe SQL standard.
Pour interroger et visualiser des données BigQuery à l'aide d'un notebook Jupyter, procédez comme suit :
Si vous n'avez pas encore démarré Jupyter, exécutez la commande ci-dessous dans votre terminal.
jupyter notebook
Jupyter doit désormais être en cours d'exécution et ouvert dans une fenêtre de navigateur. Dans la fenêtre Jupyter, cliquez sur le bouton New (Nouveau), puis sélectionnez Python 3 pour créer un notebook Python.
En haut de la page, cliquez sur Untitled (Sans titre).
Dans la boîte de dialogue Rename notebook (Renommer le notebook), saisissez un nouveau nom tel que
BigQuery tutorial
, puis cliquez sur Rename (Renommer).La bibliothèque cliente BigQuery pour Python propose une commande magique qui vous permet d'exécuter des requêtes avec le moins de code possible. Pour charger les commandes magiques à partir de la bibliothèque cliente, collez le code suivant dans la première cellule du notebook :
%load_ext google.cloud.bigquery
Exécutez la commande en cliquant sur le bouton Run (Exécuter) ou en appuyant sur
SHIFT + ENTER
.La bibliothèque cliente BigQuery pour Python propose une cellule magique,
%%bigquery
, qui exécute une requête SQL et renvoie les résultats sous la forme d'un objet DataFrame Pandas. Saisissez le code ci-dessous dans la cellule suivante pour afficher le nombre total de naissances par année :Cliquez sur Run (Exécuter).
Les résultats de la requête s'affichent sous la cellule de code.
Dans le bloc de cellules suivant, saisissez la commande ci-dessous pour exécuter la même requête en enregistrant, cette fois, les résultats dans une nouvelle variable
total_births
, qui est transmise en tant qu'argument à%%bigquery
. Les résultats peuvent ensuite être utilisés pour d'autres analyses et représentations visuelles.Cliquez sur Run (Exécuter).
Vous disposez maintenant d'un objet DataFrame Pandas enregistré dans la variable
total_births
et pouvant être représenté sous forme graphique. Pour préparer la représentation graphique des résultats de la requête, collez la commande magique intégrée ci-dessous dans la cellule suivante pour activer matplotlib, qui est la bibliothèque utilisée par Pandas pour la représentation graphique.%matplotlib inline
Cliquez sur Run (Exécuter).
Dans la cellule suivante, saisissez le code ci-dessous afin d'utiliser la méthode
DataFrame.plot()
Pandas pour visualiser les résultats de la requête sous la forme d'un graphique à barres. Consultez la documentation sur Pandas pour savoir comment visualiser des données avec cet outil.Cliquez sur Run (Exécuter).
Le graphique s'affiche sous le bloc de code.
Ensuite, collez la requête ci-dessous dans la cellule suivante pour obtenir le nombre de naissances par jour de la semaine.
Le champ
wday
(jour de la semaine) autorisant les valeurs vides (null), la requête exclut les enregistrements pour lesquelswday
est vide.Cliquez sur Run (Exécuter).
Dans la cellule suivante, saisissez le code ci-dessous pour visualiser les résultats de la requête à l'aide d'un graphique en courbes.
Cliquez sur Run (Exécuter).
Le graphique s'affiche sous le bloc de code. Notez que le nombre de naissances diminue considérablement le dimanche (1) et le samedi (7).
Cliquez sur File > Save and Checkpoint (Fichier > Enregistrer et effectuer un point de contrôle) ou sur l'icône d'enregistrement dans la barre d'outils. La création d'un point de contrôle permet de rétablir un état antérieur du notebook.
Objets DataFrame Pandas
Les commandes magiques permettent d'employer une syntaxe minimale pour interagir avec BigQuery. En arrière-plan, %%bigquery
utilise la bibliothèque cliente BigQuery pour Python pour exécuter la requête concernée, convertir les résultats en objet DataFrame Pandas, et éventuellement les enregistrer dans une variable, puis les afficher. En vous servant directement de la bibliothèque cliente BigQuery pour Python au lieu de passer par les commandes magiques, vous avez la possibilité de mieux contrôler vos requêtes et de définir des configurations plus complexes. Les intégrations de la bibliothèque avec Pandas vous permettent de combiner la puissance du SQL déclaratif au code impératif (Python) pour effectuer des tâches intéressantes d'analyse, de visualisation et de transformation des données.
Interroger et visualiser des données BigQuery à l'aide des objets DataFrame Pandas
Dans cette section du tutoriel, vous allez interroger et visualiser des données dans BigQuery à l'aide d'objets DataFrame Pandas. Vous utiliserez la bibliothèque cliente BigQuery pour Python pour interroger des données BigQuery. Vous vous servirez de la bibliothèque Pandas pour analyser les données à l'aide des objets DataFrame.
Saisissez le code Python ci-dessous dans la cellule suivante pour importer la bibliothèque cliente BigQuery pour Python et initialiser un client, qui permet d'envoyer des messages à l'API BigQuery et d'en recevoir.
Cliquez sur Run (Exécuter).
Utilisez la méthode Client.query() pour exécuter une requête. Dans la cellule suivante, saisissez le code ci-dessous pour exécuter une requête visant à extraire le nombre de naissances multiples par an selon la pluralité (2 pour les jumeaux, 3 pour les triplés, etc.).
Cliquez sur Run (Exécuter).
Pour représenter sous forme graphique les résultats de requête figurant dans votre objet DataFrame, insérez le code ci-dessous dans la cellule suivante pour réorganiser les données et créer un graphique à barres empilées illustrant le nombre de naissances multiples au fil du temps.
Cliquez sur Run (Exécuter).
Le graphique s'affiche sous le bloc de code.
Dans la cellule suivante, saisissez la requête ci-dessous pour obtenir le nombre de naissances en fonction du nombre de semaines de grossesse.
Cliquez sur Run (Exécuter).
Pour représenter sous forme graphique les résultats de requête figurant dans votre objet DataFrame, collez le code ci-dessous dans la cellule suivante.
Cliquez sur Run (Exécuter).
Le graphique à barres s'affiche sous le bloc de code.
Étape suivante
Découvrez comment créer des requêtes BigQuery : L'article de la documentation BigQuery qui traite de l'interrogation des données explique entre autres comment exécuter des requêtes et créer des fonctions définies par l'utilisateur (UDF).
Découvrez la syntaxe BigQuery : Le dialecte recommandé pour les requêtes SQL dans BigQuery est le langage SQL standard, qui est décrit dans la documentation de référence sur SQL. La syntaxe en ancien SQL de BigQuery est présentée dans la documentation de référence sur les requêtes (ancien SQL).