arrow_back

Traitement des flux de données : Insérer des pipelines de données en flux continu dans Bigtable

Accédez à plus de 700 ateliers et cours

Traitement des flux de données : Insérer des pipelines de données en flux continu dans Bigtable

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

Présentation

Dans cet atelier, vous utiliserez Dataflow pour recueillir des événements de trafic à partir de données de capteurs de trafic simulées, disponibles dans Google Cloud Pub/Sub. Ensuite, vous les écrirez dans une table Bigtable.

Remarque : Au moment de la rédaction de ce document, les pipelines de traitement par flux ne sont pas disponibles dans le SDK Dataflow pour Python. Les ateliers liés aux flux de données sont donc rédigés en Java.

Objectifs

Dans cet atelier, vous allez effectuer les tâches suivantes :

  • Lancer un pipeline Dataflow pour lire des données depuis Pub/Sub et les écrire dans Bigtable
  • Ouvrir un shell HBase pour interroger la base de données Bigtable

Préparation

Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

  2. Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
    Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

  6. Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
    Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.

  7. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.

Vérifier les autorisations du projet

Avant de commencer à travailler dans Google Cloud, vous devez vous assurer de disposer des autorisations adéquates pour votre projet dans IAM (Identity and Access Management).

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis sélectionnez IAM et administration > IAM.

  2. Vérifiez que le compte de service Compute par défaut {project-number}-compute@developer.gserviceaccount.com existe et qu'il est associé au rôle editor (éditeur). Le préfixe du compte correspond au numéro du projet, disponible sur cette page : Menu de navigation > Présentation du cloud > Tableau de bord.

État de l'éditeur et nom du compte de service Compute Engine par défaut mis en évidence sur l'onglet "Autorisations"

Remarque : Si le compte n'est pas disponible dans IAM ou n'est pas associé au rôle editor (éditeur), procédez comme suit pour lui attribuer le rôle approprié.
  1. Dans la console Google Cloud, accédez au menu de navigation et cliquez sur Présentation du cloud > Tableau de bord.
  2. Copiez le numéro du projet (par exemple, 729328892908).
  3. Dans le menu de navigation, sélectionnez IAM et administration > IAM.
  4. Sous Afficher par compte principal, en haut de la table des rôles, cliquez sur Accorder l'accès.
  5. Dans le champ Nouveaux comptes principaux, saisissez :
{project-number}-compute@developer.gserviceaccount.com
  1. Remplacez {project-number} par le numéro de votre projet.
  2. Dans le champ Rôle, sélectionnez Projet (ou Basique) > Éditeur.
  3. Cliquez sur Enregistrer.

Tâche 1 : Préparation

Vous allez exécuter un simulateur de capteurs depuis la VM d'entraînement. Pour cela, vous allez devoir configurer l'environnement et rassembler différents fichiers.

Ouvrir le terminal SSH et se connecter à la VM d'entraînement

  1. Dans la console, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Compute Engine > Instances de VM.

  2. Repérez la ligne comportant l'instance nommée training-vm.

  3. Tout à droite de la page, dans la colonne Connecter, cliquez sur SSH pour ouvrir une fenêtre de terminal. Ensuite, cliquez sur Se connecter.

Dans cet atelier, vous allez saisir les commandes CLI dans l'instance training_vm.

Vérifier que l'initialisation est terminée

  • L'instance training-vm installe des logiciels en arrière-plan. Pour vérifier si la configuration est terminée, examinez le contenu du nouveau répertoire :
ls /training

La configuration est terminée lorsque le résultat de votre commande de liste (ls) apparaît comme dans l'image ci-dessous. Si la liste complète ne s'affiche pas, attendez quelques minutes, puis réessayez.

Remarque : L'exécution de l'ensemble des actions en arrière-plan peut prendre deux à trois minutes. student-04-2324ale56789@training-vm:~$ ls /training bq-magic.sh project_env.sh sensor_magic.sh student-04-2324ale56789@training-vm:~$

Télécharger le dépôt de code

  • Vous allez maintenant télécharger le dépôt de code que vous utiliserez dans cet atelier :
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Définir des variables d'environnement

  • Dans le terminal SSH de l'instance training-vm, saisissez la commande suivante :
source /training/project_env.sh

Ce script définit les variables d'environnement $DEVSHELL_PROJECT_ID et $BUCKET.

Préparer les fichiers de démarrage rapide HBase

  • Dans le terminal SSH de l'instance training-vm, exécutez le script permettant de télécharger et de décompresser les fichiers de démarrage rapide (vous vous en servirez plus tard pour lancer le shell HBase) :
cd ~/training-data-analyst/courses/streaming/process/sandiego ./install_quickstart.sh

Cliquez sur "Vérifier ma progression" pour valider l'objectif. Copier des exemples de fichier dans le répertoire d'accueil de l'instance training_vm

Tâche 2 : Simuler les données de capteurs de trafic dans Pub/Sub

  • Dans le terminal SSH de l'instance training-vm, lancez le simulateur de capteurs. Le script lit des échantillons de données à partir d'un fichier CSV et les publie sur Pub/Sub :
/training/sensor_magic.sh

Cette commande enverra une heure de données en une minute. Laissez le script s'exécuter dans le terminal que vous avez ouvert.

Ouvrir un deuxième terminal SSH et le connecter à la VM d'entraînement

  1. En haut à droite du terminal SSH de l'instance training-vm, cliquez sur le bouton en forme de roue dentée (Icône Paramètres) et sélectionnez Nouvelle connexion dans le menu déroulant. Une nouvelle fenêtre de terminal s'ouvre.

La nouvelle session de terminal ne dispose pas des variables d'environnement requises. L'étape suivante consiste à définir ces variables.

  1. Dans le nouveau terminal SSH de l'instance training-vm, saisissez la commande suivante :
source /training/project_env.sh

Cliquez sur "Vérifier ma progression" pour valider l'objectif. Simuler les données de capteurs de trafic dans Pub/Sub

Tâche 3 : Lancer le pipeline Dataflow

  1. Pour vérifier que les API adéquates sont activées et que les autorisations appropriées sont définies, exécutez le bloc de code suivant dans Cloud Shell :
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. Dans le terminal SSH de la deuxième instance training-vm, accédez au répertoire de cet atelier. Examinez le script dans Cloud Shell ou en utilisant nano. Ne modifiez pas le code :
cd ~/training-data-analyst/courses/streaming/process/sandiego nano run_oncloud.sh

Que fait le script ?

Le script doit comprendre trois arguments obligatoires : un ID de projet, un nom de bucket et un nom de classe. Vous pouvez aussi y intégrer un 4e argument : "options". Dans cette partie de l'atelier, nous utiliserons l'option --bigtable. Celle-ci permet d'amener le pipeline à écrire les données dans Cloud Bigtable.

  1. Appuyez sur CTRL+X pour quitter.

  2. Exécutez les commandes suivantes pour créer l'instance Bigtable :

cd ~/training-data-analyst/courses/streaming/process/sandiego export ZONE={{{project_0.startup_script.gcp_zone|Lab GCP Zone}}} ./create_cbt.sh
  1. Exécutez les commandes suivantes pour que le pipeline Dataflow lise les données depuis Pub/Sub et les écrive dans Cloud Bigtable :
cd ~/training-data-analyst/courses/streaming/process/sandiego export REGION={{{project_0.startup_script.gcp_region|Lab GCP Region}}} ./run_oncloud.sh $DEVSHELL_PROJECT_ID $BUCKET CurrentConditions --bigtable

Exemple d'exécution réussie :

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 47.582 s [INFO] Finished at: 2018-06-08T21:25:32+00:00 [INFO] Final Memory: 58M/213M [INFO] ------------------------------------------------------------------------

Cliquez sur "Vérifier ma progression" pour valider l'objectif. Lancer le pipeline Dataflow

Tâche 4 : Explorer le pipeline

  1. Dans le navigateur, revenez à l'onglet de la console. Dans le menu de navigation (Icône du menu de navigation), cliquez sur Dataflow, puis sur le nouveau job de pipeline. Vérifiez qu'il est dans la liste et qu'il s'exécute sans erreur.

  2. Recherchez l'étape write:cbt dans le graphique du pipeline. Sur la droite, cliquez sur la flèche vers le bas pour afficher le rédacteur en cours. Ensuite, cliquez sur ce rédacteur. Examinez les options Bigtable dans le résumé de l'étape.

Tâche 5 : Interroger des données Bigtable

  1. Dans le deuxième terminal SSH de l'instance training-vm, exécutez le script quickstart.sh pour lancer le shell HBase :
cd ~/training-data-analyst/courses/streaming/process/sandiego/quickstart ./quickstart.sh
  1. Une fois l'exécution du script terminée, une invite du shell HBase s'affiche, semblable à celle-ci :
hbase(main):001:0>
  1. À l'invite du shell HBase, saisissez la commande suivante pour récupérer deux lignes de votre table Bigtable qui a été remplie par le pipeline. La génération des résultats par le biais de la requête HBase peut prendre plusieurs minutes.

Répétez la commande "scan" jusqu'à ce qu'une liste de lignes s'affiche.

scan 'current_conditions', {'LIMIT' => 2}
  1. Examinez le résultat. Notez que chaque ligne se compose de colonnes, codes temporels et combinaisons de valeurs.

  2. Exécutez une autre requête. Cette fois, concentrez-vous sur la colonne lane: speed et limitez la requête à 10 lignes. Spécifiez des formats d'ID de ligne pour l'analyse des lignes de début et de fin :

scan 'current_conditions', {'LIMIT' => 10, STARTROW => '15#S#1', ENDROW => '15#S#999', COLUMN => 'lane:speed'}
  1. Examinez le résultat. Notez que vous voyez 10 éléments de colonne, codes temporels et combinaisons de valeurs et qu'ils correspondent tous à l'autoroute 15. Remarquez aussi que la colonne est limitée à lane: speed.

  2. N'hésitez pas à exécuter d'autres requêtes si vous connaissez la syntaxe. Une fois que vous avez terminé, saisissez quit pour quitter le shell :

quit

Tâche 6 : Nettoyage

  1. Dans le deuxième terminal SSH de l'instance training-vm, exécutez le script suivant pour supprimer votre instance Bigtable :
cd ~/training-data-analyst/courses/streaming/process/sandiego ./delete_cbt.sh

Si vous êtes invité à confirmer la commande, saisissez Y.

  1. Sur la page "Dataflow" de Cloud Console, cliquez sur le nom du job de pipeline.

  2. Ensuite, cliquez sur Arrêter dans la barre de menu supérieure. Sélectionnez Annuler, puis Arrêter le job.

  3. Revenez au premier terminal SSH contenant l'éditeur et appuyez sur Ctrl+C pour l'arrêter.

  4. Dans la console BigQuery, cliquez sur les trois points à côté de l'ensemble de données demos, puis sélectionnez Supprimer.

  5. Saisissez delete, puis cliquez sur Supprimer.

Terminer l'atelier

Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.

Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.

Le nombre d'étoiles correspond à votre degré de satisfaction :

  • 1 étoile = très insatisfait(e)
  • 2 étoiles = insatisfait(e)
  • 3 étoiles = ni insatisfait(e), ni satisfait(e)
  • 4 étoiles = satisfait(e)
  • 5 étoiles = très satisfait(e)

Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.

Copyright 2020 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.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode 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.