Points de contrôle
Create a dataset named 'ecommerce'
/ 30
Create a new partitioned table based on date.
/ 35
Your turn: Create a Partitioned Table
/ 35
Créer des tables partitionnées par date dans BigQuery
- GSP414
- Présentation
- Préparation
- Tâche 1 : Créer un ensemble de données
- Tâche 2 : Créer des tables partitionnées par date
- Tâche 3 : Afficher les données traitées à l'aide d'une table partitionnée
- Tâche 4 : Créer une table partitionnée à expiration automatique
- Tâche 5 : À vous de créer une table partitionnée
- Tâche 6 : Vérifier que la partition la plus ancienne (partition_age) date de 60 jours ou moins
- Félicitations !
GSP414
Présentation
BigQuery est la base de données d'analyse NoOps, économique et entièrement gérée de Google. Avec BigQuery, vous pouvez interroger plusieurs téraoctets de données sans avoir à gérer d'infrastructure ni faire appel à un administrateur de base de données. Basé sur le langage SQL et le modèle de paiement à l'usage, BigQuery vous permet de vous concentrer sur l'analyse des données pour en dégager des informations pertinentes.
Vous allez utiliser un ensemble de données d'e-commerce comprenant des millions d'enregistrements Google Analytics pour le Google Merchandise Store, chargé dans BigQuery. Pour cet atelier, vous disposez d'une copie de cet ensemble de données, et vous allez explorer les champs et les lignes qu'il contient afin d'obtenir des renseignements.
Dans cet atelier, vous allez interroger des ensembles de données partitionnés et créer vos propres partitions d'ensemble de données pour améliorer les performances des requêtes et réduire les coûts.
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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
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
-
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. -
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.
-
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. -
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.
Ouvrir la console BigQuery
- Dans la console Google Cloud, sélectionnez le menu de navigation > BigQuery.
Le message Bienvenue sur BigQuery dans Cloud Console s'affiche. Il contient un lien vers le guide de démarrage rapide et les notes de version.
- Cliquez sur OK.
La console BigQuery s'ouvre.
Tâche 1 : Créer un ensemble de données
-
Commencez par créer un ensemble de données dans lequel stocker vos tables.
-
Dans le volet Explorateur, à côté de l'ID de votre projet, cliquez sur Afficher les actions, puis sur Créer un ensemble de données.
- Définissez le champ ID de l'ensemble de données sur e-commerce.
Laissez les valeurs par défaut des autres options, "Emplacement des données" et "Expiration de la table par défaut".
- Cliquez sur Créer un ensemble de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 2 : Créer des tables partitionnées par date
Une table partitionnée est une table divisée en segments, appelés partitions, qui facilitent la gestion et l'interrogation des données. Diviser une grande table en partitions plus petites permet d'améliorer les performances des requêtes et de maîtriser les coûts en réduisant le nombre d'octets traités par une requête.
Vous allez maintenant créer une table et lui associer une colonne de date ou d'horodatage en tant que partition. Auparavant, examinons les données de la table non partitionnée.
Interroger des données analytiques de page Web pour un échantillon de visiteurs en 2017
- Cliquez sur + Saisir une nouvelle requête et ajoutez la requête suivante :
Avant de l'exécuter, notez la quantité totale de données à traiter, comme indiqué à côté de l'icône de l'outil de validation des requêtes : "Cette requête traitera 1,74 Go lors de son exécution".
- Cliquez sur Exécuter.
La requête renvoie cinq résultats.
Interroger des données analytiques de page Web pour un échantillon de visiteurs en 2018
Modifions à présent la requête pour qu'elle s'intéresse aux visiteurs en 2018.
- Cliquez sur SAISIR UNE NOUVELLE REQUÊTE pour effacer l'éditeur de requête, puis ajoutez cette nouvelle requête. Notez que le paramètre
WHERE date
(Où la date) est remplacé par20180708
:
L'outil de validation des requêtes vous indique la quantité de données qui sera traitée par cette requête.
- Cliquez sur Exécuter.
Notez que la requête traite toujours 1,74 Go de données, même si elle ne renvoie aucun résultat. Pourquoi ? Le moteur de requêtes doit analyser tous les enregistrements de l'ensemble de données pour vérifier s'ils respectent la condition de correspondance de date dans la clause WHERE. Il doit examiner chaque enregistrement afin de comparer sa date à la condition "20180708".
De plus, contrairement à l'idée reçue, la clause LIMIT 5 (Limite 5) ne réduit pas la quantité totale de données traitée.
Cas d'utilisation courants des tables partitionnées par date
L'analyse systématique de l'ensemble de données complet afin de comparer les lignes à une condition WHERE est inefficace, surtout si seuls les enregistrements concernant une période spécifique vous intéressent, par exemple :
- toutes les transactions de l'année passée ;
- toutes les interactions des visiteurs au cours des sept derniers jours ;
- tous les produits vendus au cours du mois écoulé.
Au lieu d'analyser l'ensemble de données complet et de le filtrer selon un champ de date comme pour les requêtes précédentes, configurez à présent une table partitionnée par date. Cela vous permet d'ignorer complètement les enregistrements de certaines partitions s'ils sont sans rapport avec la requête.
Créer une table partitionnée en fonction de la date
- Cliquez sur SAISIR UNE NOUVELLE REQUÊTE, ajoutez la requête ci-dessous, puis cliquez sur Exécuter :
Dans cette requête, notez la nouvelle option PARTITION BY (Partitionner par) suivie d'un champ. Les deux options de partition disponibles sont DATE et TIMESTAMP (Horodatage). La fonction PARSE_DATE (Répartir la date) est utilisée pour le champ de date (stocké en tant que chaîne) afin de l'associer au type de DATE correct en vue du partitionnement.
- Cliquez sur l'ensemble de données e-commerce, puis sélectionnez la nouvelle table partition_by_day (partition par jour) :
- Cliquez sur l'onglet Détails.
Vérifiez que les données suivantes apparaissent :
- Partitioned by: Day (Partitionné par : jour)
- Partitioning on: date_formatted (Partitionnement le : date de formatage)
Remarque : Les partitions au sein des tables partitionnées liées à votre compte d'atelier expireront automatiquement au bout de 60 jours à compter de la valeur indiquée dans votre colonne de date.
Les tables partitionnées que vous créerez dans votre compte Google Cloud personnel avec facturation activée n'expireront pas.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 3 : Afficher les données traitées à l'aide d'une table partitionnée
- Exécutez la requête suivante, et notez la quantité totale d'octets à traiter :
Cette fois, 25 Ko ou 0,025 Mo sont traités, ce qui représente une petite fraction de la quantité de données analysée par la requête précédente.
- À présent, exécutez la requête suivante, et notez la quantité totale d'octets à traiter :
Le message suivant doit s'afficher : Cette requête traitera 0 octet lors de son exécution
.
Tâche 4 : Créer une table partitionnée à expiration automatique
Les tables partitionnées à expiration automatique sont utilisées pour assurer la conformité avec les règles de confidentialité des données. Elles permettent aussi d'éviter tout stockage superflu (facturé dans un environnement de production). Si vous souhaitez créer une période glissante de données, ajoutez une date d'expiration pour que la partition disparaisse une fois que vous avez fini de l'utiliser.
Explorer les tables de données météorologiques mises à disposition par l'Agence américaine d'observation océanique et atmosphérique (NOAA)
- Dans le menu de gauche, sous "Explorateur", cliquez sur + Ajouter et sélectionnez Ensembles de données publics.
-
Recherchez GSOD NOAA, puis sélectionnez l'ensemble de données.
-
Cliquez sur Afficher l'ensemble de données.
-
Faites défiler les tables dans l'ensemble de données noaa_gsod (elles sont segmentées manuellement et non partitionnées) :
L'objectif est de créer une table qui :
- interroge les données météorologiques à partir de 2018 ;
- filtre les données pour n'inclure que les jours avec des précipitations (pluie, neige, etc.) ;
- stocke chaque partition de données pendant 90 jours uniquement, à compter de sa date de création (période glissante).
- Tout d'abord, copiez et collez la requête ci-dessous :
-
Cliquez sur Exécuter.
-
Vérifiez que le format de date est correct et que le champ des précipitations indique des valeurs non nulles.
Tâche 5 : À vous de créer une table partitionnée
-
Modifiez la requête précédente afin de créer une table correspondant aux spécifications ci-dessous :
- Nom de la table : ecommerce.days_with_rain
- Utilisez le champ de date comme clause PARTITION BY
- Pour OPTIONS, spécifiez partition_expiration_days = 60
- Ajoutez la description de la table = "weather stations with precipitation, partitioned by day"
Votre requête doit se présenter comme suit :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier que l'expiration de la partition de données fonctionne
Pour vérifier que vous ne stockez que des données datant de 60 jours ou moins, exécutez la requête DATE_DIFF pour obtenir l'âge de vos partitions, qui sont configurées pour expirer au bout de 60 jours.
Voici une requête qui enregistre les précipitations moyennes pour la station météorologique de la NOAA à Wakayama, au Japon, connue pour ses précipitations abondantes.
- Ajoutez cette requête, puis exécutez-la :
Tâche 6 : Vérifier que la partition la plus ancienne (partition_age) date de 60 jours ou moins
Mettez à jour la clause ORDER BY (Classer par) pour afficher les partitions les plus anciennes en premier.
- Ajoutez cette requête, puis exécutez-la :
Félicitations !
Vous avez créé et interrogé des tables partitionnées dans BigQuery.
Terminer votre quête
Cet atelier d'auto-formation fait partie de la quête BigQuery for Data Warehousing. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête ou à une autre quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
Atelier suivant
Continuez votre quête avec l'atelier Résoudre les problèmes et éviter les pièges liés à la jointure des données, ou consultez ces suggestions :
- Utiliser des objets JSON, ARRAY et STRUCT dans BigQuery
- Prédire le prix d'une course en taxi à l'aide d'un modèle de ML BigQuery
Étapes suivantes et informations supplémentaires
Si vous souhaitez savoir comment créer des tables partitionnées par date d'ingestion qui ne sont pas liées à une colonne de date ou d'horodatage spécifique, consultez la documentation sur le partitionnement dans BigQuery (qui fournit également des exemples).
Vous possédez un compte Google Analytics et souhaitez interroger vos propres ensembles de données BigQuery ? Suivez ce guide d'exportation.
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 : 25 septembre 2023
Dernier test de l'atelier : 25 septembre 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.