GSP849
Présentation
Dans cet atelier, vous approfondirez les bases de la science des données appliquée au sport en écrivant et en exécutant des requêtes pour interroger des données stockées dans des tables BigQuery. L'objectif de cet atelier est d'illustrer le fonctionnement de la base de données et de répondre à des questions intéressantes sur les sujets suivants liés au football.
- Plus grand nombre de buts marqués au total.
- Plus grand nombre de passes tentées.
- Meilleur taux de réussite aux tirs au but.
Les données utilisées dans cet atelier proviennent des sources suivantes :
- Pappalardo et al., (2019) A public data set of spatio-temporal match events in soccer competitions, Nature Scientific Data 6:236, https://www.nature.com/articles/s41597-019-0247-7
- Pappalardo et al. (2019) PlayerRank: Data-driven Performance Evaluation and Player Ranking in Soccer via a Machine Learning Approach. ACM Transactions on Intelligent Systems and Technologies (TIST) 10, 5, Article 59 (September 2019), 27 pages. DOI : https://doi.org/10.1145/3343172
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Interroger les données d'événement d'un match de football dans BigQuery
- Écrire et exécuter des requêtes qui joignent des informations provenant de plusieurs tables
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 les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de 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 (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue 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 Cloud"
- 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 Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
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 ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
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 à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Tâche 1 : Ouvrir BigQuery
La console BigQuery est une interface qui permet d'interroger des tables, y compris celles des ensembles de données publics proposés par BigQuery.
- Dans le menu de navigation de la console Cloud, sélectionnez BigQuery.
Le message Bienvenue sur BigQuery dans la console Cloud 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.
Remarque : La création de l'ensemble de données et des tables est expliquée dans l'atelier Ingestion de données de football dans BigQuery. Dans cet atelier, l’objectif principal est d’apprendre à interroger les informations à l’aide de requêtes.
Une fois les tables créées, l'affichage sera semblable à ceci :
Dans la section suivante, vous allez découvrir les principes de base de la création de requêtes dans BigQuery.
Tâche 2 : Correspondance avec le plus grand nombre de buts
Dans cette section, vous allez créer une requête qui joint plusieurs tables contenant des données sur le football. D'après les informations disponibles, vous pouvez effectuer des analyses de base, comme déterminer le nombre total de buts marqués par les deux équipes lors d'un match (dans un championnat spécifique).
- Dans l'éditeur de requête, cliquez sur + (Créer une requête SQL).
- Copiez la requête suivante dans l'éditeur de requête :
SELECT
date,
label,
(team1.score + team2.score) AS totalGoals
FROM
`soccer.matches` Matches
LEFT JOIN
`soccer.competitions` Competitions ON
Matches.competitionId = Competitions.wyId
WHERE
status = 'Played' AND
Competitions.name = 'Spanish first division'
ORDER BY
totalGoals DESC, date DESC
Cette requête :
- Joint la table de correspondances (qui contient les scores finaux) à la table compétitions
- Filtre pour ne voir que les matchs de la première division espagnole
- Trie par un champ calculé qui représente le nombre total de buts dans un match
- Cliquez sur Exécuter.
Les résultats sont affichés sous la fenêtre de requête.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier que la requête a été exécutée
Dans cette section, nous avons utilisé BigQuery pour illustrer la définition d'une requête affichant des informations sur le football. La requête crée un filtre qui affiche des informations spécifiques sur les matchs d'une ligue donnée et permet de classer les informations selon un champ défini.
Tâche 3 : Joueurs ayant effectué le plus de passes
Dans cette section, vous allez créer une requête qui joint plusieurs tables contenant des données sur le football. D'après les informations disponibles, vous pouvez effectuer des analyses de base, comme le nombre total de passes par joueur.
- Dans l'éditeur de requête, cliquez sur + (Créer une requête SQL).
- Ajoutez la requête suivante dans l'éditeur de requêtes :
SELECT
playerId,
(Players.firstName || ' ' || Players.lastName) AS playerName,
COUNT(id) AS numPasses
FROM
`soccer.events` Events
LEFT JOIN
`soccer.players` Players ON
Events.playerId = Players.wyId
WHERE
eventName = 'Pass'
GROUP BY
playerId, playerName
ORDER BY
numPasses DESC
LIMIT 10
Cette requête :
- Joint la table événements (qui contient un enregistrement de chaque passe) à la table joueurs pour obtenir les noms des joueurs à partir de leurs ID
- Regroupe les joueurs
- Compte le nombre de passes pour chacun
- Trie dans l'ordre des joueurs ayant effectué le plus de passes
- Cliquez sur Exécuter. Les résultats sont affichés sous la fenêtre de requête.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier que la requête a été exécutée
Dans cette section, nous avons utilisé BigQuery pour illustrer la définition d'une requête affichant les informations sur les joueurs. La requête crée une jointure qui affiche des informations spécifiques sur un ID de joueur et permet de classer les informations par un champ défini.
Dans la section suivante, vous en apprendrez plus sur l'ensemble de données existant et vous verrez comment il peut être utilisé pour déterminer le taux de réussite des joueurs lors des tirs au but.
Tâche 4 : Déterminer le taux de réussite des tirs au but
Dans cette section, vous allez créer une requête qui joint plusieurs tables contenant des données sur le football. À partir des informations disponibles, vous pouvez effectuer des analyses, comme le taux de réussite des tirs au but par joueur.
- Dans l'éditeur de requête, cliquez sur + (Créer une requête SQL).
- Copiez et collez la requête suivante dans éditeur de requête :
SELECT
playerId,
(Players.firstName || ' ' || Players.lastName) AS playerName,
COUNT(id) AS numPKAtt,
SUM(IF(101 IN UNNEST(tags.id), 1, 0)) AS numPKGoals,
SAFE_DIVIDE(
SUM(IF(101 IN UNNEST(tags.id), 1, 0)),
COUNT(id)
) AS PKSuccessRate
FROM
`soccer.events` Events
LEFT JOIN
`soccer.players` Players ON
Events.playerId = Players.wyId
WHERE
eventName = 'Free Kick' AND
subEventName = 'Penalty'
GROUP BY
playerId, playerName
HAVING
numPkAtt >= 5
ORDER BY
PKSuccessRate DESC, numPKAtt DESC
La requête agrège le nombre de tentatives de tirs au but et de tirs réussis par joueur, et filtre les résultats pour ne conserver que les joueurs ayant tenté au moins cinq tirs au but. Elle classe ensuite les résultats par taux de réussite.
Remarque : La requête ci-dessus joint la table événements (filtrée pour ne contenir que les tirs au but) à la table joueurs afin d'obtenir les noms des joueurs à partir de leurs ID.
Le champ tags de la table événements utilise la fonctionnalité de tableau de BigQuery (ce qui permet de stocker plus d'un tag par événement). Il doit donc être décompressé pour déterminer si le tir a été réussi ou non (on peut confirmer que le tag 101 représente un but à l'aide de la table tags2name).
- Cliquez sur Exécuter. Les résultats sont affichés sous la fenêtre de requête.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier que la requête a été exécutée
Dans cette section, nous avons utilisé BigQuery pour illustrer la définition d'une requête qui affiche les informations des joueurs concernant les tirs au but. La requête crée une jointure qui affiche des informations spécifiques sur un ID de joueur et permet d'afficher des informations plus détaillées.
Tâche 5 : Questionnaire
Testez vos connaissances sur BigQuery en répondant à un court questionnaire sur les sujets abordés dans cet atelier.
Félicitations !
Félicitations ! Dans cet atelier, vous avez réussi à écrire et à exécuter des requêtes pour analyser des données stockées dans des tables BigQuery. Vous avez également appris à joindre des informations provenant de plusieurs tables pour répondre à des questions intéressantes sur le football.
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 : 28 janvier 2025
Dernier test de l'atelier : 27 janvier 2025
Copyright 2026 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.