Dans cet atelier, vous allez ouvrir un projet Dataflow, filtrer le pipeline et l'exécuter en local et dans le cloud.
Objectifs
Dans cet atelier, vous allez apprendre à créer un pipeline Dataflow simple et à l'exécuter en local et dans le cloud.
Configurer un projet Dataflow en Java à l'aide de Maven
Créer un pipeline simple en Java
Exécuter la requête sur la machine locale
Exécuter la requête dans le cloud
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.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
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.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
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.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Activer Google Cloud Shell
Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Lancer l'éditeur de code Google Cloud Shell
Utilisez l'éditeur de code Google Cloud Shell pour facilement créer et modifier les répertoires et fichiers de l'instance Cloud Shell.
Une fois que vous avez activé Google Cloud Shell, cliquez sur Ouvrir l'éditeur pour ouvrir l'éditeur de code Cloud Shell.
Vous avez désormais trois interfaces à votre disposition :
L'éditeur de code Cloud Shell.
La console (en cliquant sur l'onglet). Vous pouvez passer de la console à Cloud Shell (et vice versa) en cliquant sur les onglets correspondants.
La ligne de commande Cloud Shell (en cliquant sur Ouvrir le terminal dans la console).
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).
Dans la console Google Cloud, accédez au menu de navigation (), puis sélectionnez IAM et administration > IAM.
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.
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é.
Dans la console Google Cloud, accédez au menu de navigation et cliquez sur Présentation du cloud > Tableau de bord.
Copiez le numéro du projet (par exemple, 729328892908).
Dans le menu de navigation, sélectionnez IAM et administration > IAM.
Sous Afficher par compte principal, en haut de la table des rôles, cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez :
Remplacez {project-number} par le numéro de votre projet.
Dans le champ Rôle, sélectionnez Projet (ou Basique) > Éditeur.
Cliquez sur Enregistrer.
Tâche 1 : Préparation
Vérifier le bucket et télécharger le code de l'atelier
Vous devez effectuer des étapes spécifiques pour bien réaliser cet atelier :
Vérifiez que vous disposez d'un bucket Cloud Storage (un bucket a été créé automatiquement au démarrage de l'environnement de l'atelier).
Dans la barre de titre de la console Google Cloud, cliquez sur Activer Cloud Shell. Cliquez sur Continuer si vous y êtes invité. Clonez le dépôt github du code de l'atelier à l'aide de la commande suivante :
Dans Cloud Shell, saisissez le code suivant pour créer deux variables d'environnement, l'une nommée "BUCKET" et l'autre "REGION". Vérifiez qu'elles existent à l'aide de la commande "echo" :
L'objectif de cet atelier est de vous familiariser avec la structure d'un projet Dataflow et d'apprendre à exécuter un pipeline Dataflow. Vous allez utiliser le puissant outil de compilation Maven pour créer un projet Dataflow.
Revenez à l'onglet de navigateur où se trouve Cloud Shell, puis accédez au répertoire de cet atelier :
cd ~/training-data-analyst/courses/data_analysis/lab2
Quel package va être créé dans le répertoire "src" ?
Tâche 3 : Filtrer le pipeline
Dans l'éditeur de code Cloud Shell, accédez au répertoire /training-data-analyst/courses/data_analysis/lab2.
Sélectionnez ensuite le chemin d'accès javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/, puis affichez le fichier Grep.java.
Vous pouvez également afficher le fichier avec l'éditeur nano. Ne modifiez pas le code.
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/
nano Grep.java
Répondez aux questions ci-dessous à propos du fichier Grep.java.
Quels sont les fichiers en cours de lecture ?
Quel est le terme de recherche ?
Où est placé le résultat ?
Le pipeline contient trois instructions "apply" :
Que fait la première instruction "apply()" ?
Que fait la deuxième instruction "apply()" ?
D'où viennent ses données d'entrée ?
Que fait-elle avec ces données d'entrée ?
Qu'écrit-elle dans son résultat ?
Où est placé le résultat ?
Que fait la troisième instruction "apply()" ?
Tâche 4 : Exécuter le pipeline en local
Dans Cloud Shell, collez la commande Maven suivante :
cd ~/training-data-analyst/courses/data_analysis/lab2
export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:$PATH
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
mvn compile -e exec:java \
-Dexec.mainClass=com.google.cloud.training.dataanalyst.javahelp.Grep
Le fichier de sortie est output.txt. Si le résultat est long, il sera divisé en plusieurs parties nommées par exemple output-00000-of-00001. Si nécessaire, vous pouvez retrouver le fichier concerné d'après son heure de modification :
Dans l'éditeur de code Cloud Shell, accédez au répertoire /training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp.
Modifiez le pipeline Dataflow dans le fichier Grep.java :
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
Remplacez les variables d'entrée et de sortie par le nom de votre bucket comme suit :
String input = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/*.java";
String outputPrefix = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/output";
Remarque : Assurez-vous de modifier les chaînes input et outputPrefix déjà présentes dans le code source. Ne copiez-collez pas toute la ligne ci-dessus sans supprimer les chaînes initiales, sinon vous obtiendrez deux variables identiques.
Exemples de lignes avant la modification :
String input = "src/main/java/com/google/cloud/training/dataanalyst/javahelp/*.java";
String outputPrefix = "/tmp/output";
</ql-code-block output>
Exemples de lignes après la modification contenant le nom du bucket de votre projet :
String input = "gs://qwiklabs-gcp-your-value-bucket/javahelp/*.java";
</ql-code-block output>
String outputPrefix = "gs://qwiklabs-gcp-your-value-bucket/javahelp/output";
</ql-code-block output>
5. Examinez le script permettant d'envoyer le job Dataflow dans le cloud :
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
cat run_oncloud1.sh
Quelle est la différence entre cette commande Maven et celle permettant d'exécuter le job en local ?
Ce job étant très petit, l'exécuter dans le cloud est bien plus long que l'exécuter en local (autour de deux à trois minutes).
Exemple de résultat de la ligne de commande :
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:50 min
[INFO] Finished at: 2018-02-06T15:11:23-05:00
[INFO] Final Memory: 39M/206M
[INFO] ------------------------------------------------------------------------
Dans le navigateur, revenez à l'onglet de la console. Dans le menu de navigation (), cliquez sur Dataflow, puis sur votre job pour suivre son avancement.
Exemple :
Attendez que l'état du job passe à Réussi. Cloud Shell affiche ensuite une invite de ligne de commande.
Remarque : Si le job Dataflow échoue la première fois, réexécutez la commande précédente pour envoyer un nouveau job Dataflow dans le cloud.
Examinez le résultat dans le bucket Cloud Storage. Dans le menu de navigation (), cliquez sur Cloud Storage > Buckets, puis sur votre bucket.
Cliquez sur le répertoire javahelp. Cette tâche génère le fichier output.txt. Si le fichier est long, il sera divisé en plusieurs parties nommées par exemple output-0000x-of-000y. Vous pouvez identifier le fichier le plus récent d'après son nom ou son champ Dernière modification. Cliquez sur le fichier pour l'afficher.
Vous pouvez également télécharger le fichier dans Cloud Shell et l'afficher :
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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
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.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
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.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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.
Dans cet atelier, vous allez ouvrir un projet Dataflow, filtrer le pipeline et l'exécuter en local et dans le cloud avec Java.
Durée :
1 min de configuration
·
Accessible pendant 90 min
·
Terminé après 90 min