arrow_back

Cloud Composer : Qwik Start – Console

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Composer : Qwik Start – Console

Lab 1 heure universal_currency_alt 1 crédit show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP261

Google Cloud – Ateliers adaptés au rythme de chacun

Aperçu

Les workflows sont une notion courante dans l'analyse de données ; ils impliquent l'ingestion, la transformation et l'analyse de données pour déduire les informations significatives. Dans Google Cloud, l'hébergement des workflows s'effectue dans Cloud Composer, version hébergée d'Apache Airflow, l'outil de workflow Open Source communément utilisé.

Dans cet atelier, vous allez configurer un environnement Cloud Composer à l'aide de la console Cloud. Vous allez ensuite utiliser Cloud Composer pour mettre en place un workflow simple qui vérifie l'existence d'un fichier de données, crée un cluster Cloud Dataproc, exécute un job de décompte de mots Apache Hadoop sur un cluster Cloud Dataproc, puis supprime ce cluster.

Objectifs

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

  • Créer l'environnement Cloud Composer à l'aide de la console Cloud
  • Afficher et exécuter le graphe orienté acyclique (DAG, Directed Acyclic Graph) dans l'interface Web Airflow
  • Afficher les résultats du job de décompte dans l'espace de stockage

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) ;
Remarque : Ouvrez une fenêtre de navigateur en mode incognito/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. 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
  2. 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.
  3. 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.

  4. 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.
  5. 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.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Cloud Shell

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. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : Créer un environnement Cloud Composer

Dans cette section, vous allez créer un environnement Cloud Composer.

  1. Accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Composer.

  2. Cliquez sur CRÉER UN ENVIRONNEMENT et sélectionnez Composer 1 dans la liste déroulante.

  3. Définissez les éléments suivants pour votre environnement :

    • Nom : highcpu

    • Emplacement :

    • Version de l'image : sélectionnez la dernière version

    • Zone :

    • Type de machine : e2-standard-2

Conservez les valeurs par défaut de tous les autres paramètres.

  1. Cliquez sur CRÉER.

Le processus de création de l'environnement est terminé lorsqu'une coche verte apparaît à gauche du nom de l'environnement sur la page "Environnements" de la console Cloud.

La procédure de configuration de l'environnement peut prendre entre 10 et 15 minutes. Poursuivez l'atelier pendant que l'environnement se configure.

Créer un bucket Cloud Storage

Créez un bucket Cloud Storage dans votre projet. Ce bucket servira de sortie pour le job Hadoop fourni par Dataproc.

  1. Accédez au menu de navigation > Cloud Storage > Buckets, puis cliquez sur CRÉER.

  2. Nommez votre bucket , créez-le dans la région , puis cliquez sur CRÉER.

Si le message "L'accès public sera bloqué" s'affiche, cliquez sur Confirmer.

Notez bien le nom du bucket Cloud Storage (votre ID de projet), car vous l'utiliserez comme variable Airflow plus tard dans l'atelier.

Cliquez sur Vérifier ma progression pour valider l'objectif.

Créer un bucket Cloud Storage

Tâche 2 : Airflow et concepts fondamentaux

En attendant la création de votre environnement Composer, découvrez quelques-uns des termes associés à Airflow.

Airflow est une plate-forme qui permet de créer, de planifier et de surveiller vos workflows de manière programmatique.

Avec Airflow, vous pouvez créer des workflows en tant que graphes de tâches orientés acycliques. Le programmeur Airflow exécute vos tâches sur un tableau de nœuds de calcul tout en suivant les dépendances spécifiées.

Concepts fondamentaux

DAG

Un graphe orienté acyclique (DAG, Directed Acyclic Graph) est une collection regroupant toutes les tâches à exécuter et organisée de manière à refléter leurs relations et leurs dépendances.

Opérateur

Description d'une tâche unique, généralement atomique. Par exemple, l'opérateur BashOperator permet d'exécuter une commande Bash.

Tâche

Instance paramétrée d'un opérateur. Nœud dans le DAG.

Instance de tâche

Exécution spécifique d'une tâche caractérisée par un DAG, une tâche et un moment précis. Elle est affectée d'un état indicatif : running (exécution en cours), success (réussite), failed (échec), skipped (ignorée), ...

Pour en savoir plus, lisez la documentation sur les concepts.

Tâche 3 : Définir le workflow

Étudions maintenant le workflow que vous allez utiliser. Les workflows Cloud Composer sont constitués de DAG (graphes orientés acycliques). Les DAG sont définis dans des fichiers Python standards placés dans le dossier DAG_FOLDER d'Airflow. Airflow exécute le code de chaque fichier pour créer dynamiquement les objets DAG. Vous pouvez utiliser le nombre de DAG que vous voulez, chacun décrivant un nombre arbitraire de tâches. En général, un DAG correspond à un workflow logique unique.

  1. Ouvrez une nouvelle fenêtre Cloud Shell en cliquant sur l'icône Activer Cloud Shell en haut à droite de la console Cloud.

  2. Dans Cloud Shell, utilisez l'éditeur de code nano pour créer le fichier hadoop_tutorial.py :

nano hadoop_tutorial.py
  1. Vous trouverez ci-dessous le code du workflow hadoop_tutorial.py, également appelé DAG. Collez le code suivant dans le fichier hadoop_tutorial.py.
# [START composer_hadoop_tutorial] """Example Airflow DAG that creates a Cloud Dataproc cluster, runs the Hadoop wordcount example, and deletes the cluster. This DAG relies on three Airflow variables https://airflow.apache.org/concepts.html#variables * gcp_project - Google Cloud Project to use for the Cloud Dataproc cluster. * gce_zone - Google Compute Engine zone where Cloud Dataproc cluster should be created. * gcs_bucket - Google Cloud Storage bucket to use for result of Hadoop job. See https://cloud.google.com/storage/docs/creating-buckets for creating a bucket. """ import datetime import os from airflow import models from airflow.contrib.operators import dataproc_operator from airflow.utils import trigger_rule # Output file for Cloud Dataproc job. output_file = os.path.join( models.Variable.get('gcs_bucket'), 'wordcount', datetime.datetime.now().strftime('%Y%m%d-%H%M%S')) + os.sep # Path to Hadoop wordcount example available on every Dataproc cluster. WORDCOUNT_JAR = ( 'file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' ) # Arguments to pass to Cloud Dataproc job. input_file = 'gs://pub/shakespeare/rose.txt' wordcount_args = ['wordcount', input_file, output_file] yesterday = datetime.datetime.combine( datetime.datetime.today() - datetime.timedelta(1), datetime.datetime.min.time()) default_dag_args = { # Setting start date as yesterday starts the DAG immediately when it is # detected in the Cloud Storage bucket. 'start_date': yesterday, # To email on failure or retry set 'email' arg to your email and enable # emailing here. 'email_on_failure': False, 'email_on_retry': False, # If a task fails, retry it once after waiting at least 5 minutes 'retries': 1, 'retry_delay': datetime.timedelta(minutes=5), 'project_id': models.Variable.get('gcp_project') } # [START composer_hadoop_schedule] with models.DAG( 'composer_hadoop_tutorial', # Continue to run DAG once per day schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag: # [END composer_hadoop_schedule] # Create a Cloud Dataproc cluster. create_dataproc_cluster = dataproc_operator.DataprocClusterCreateOperator( task_id='create_dataproc_cluster', # Give the cluster a unique name by appending the date scheduled. # See https://airflow.apache.org/code.html#default-variables cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', num_workers=2, region='{{{project_0.default_region|region}}}', zone=models.Variable.get('gce_zone'), image_version='2.0', master_machine_type='e2-standard-2', worker_machine_type='e2-standard-2') # Run the Hadoop wordcount example installed on the Cloud Dataproc cluster # master node. run_dataproc_hadoop = dataproc_operator.DataProcHadoopOperator( task_id='run_dataproc_hadoop', region='{{{project_0.default_region|place_holder_text}}}', main_jar=WORDCOUNT_JAR, cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', arguments=wordcount_args) # Delete Cloud Dataproc cluster. delete_dataproc_cluster = dataproc_operator.DataprocClusterDeleteOperator( task_id='delete_dataproc_cluster', region='{{{project_0.default_region|place_holder_text}}}', cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', # Setting trigger_rule to ALL_DONE causes the cluster to be deleted # even if the Dataproc job fails. trigger_rule=trigger_rule.TriggerRule.ALL_DONE) # [START composer_hadoop_steps] # Define DAG dependencies. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster # [END composer_hadoop_steps] # [END composer_hadoop_tutorial]
  1. Enregistrez les modifications, puis quittez nano en appuyant sur CTRL+O, ENTRÉE et CTRL+X, dans cet ordre.

Pour orchestrer les trois tâches de workflow, le DAG importe les opérateurs suivants :

  • DataprocClusterCreateOperator : crée un cluster Cloud Dataproc.
  • DataProcHadoopOperator : soumet un job de décompte de mots Hadoop et code le résultat dans un bucket Cloud Storage.
  • DataprocClusterDeleteOperator : supprime le cluster pour éviter que des frais Compute Engine ne continuent d'être facturés.

Les tâches sont exécutées de manière séquentielle, comme vous pouvez le voir dans cette section du fichier :

# Define DAG dependencies. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster

Ce DAG nommé hadoop_tutorial s'exécute une fois par jour :

with models.DAG( 'composer_hadoop_tutorial', # Continue to run DAG once per day schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag:

La valeur start_date transmise à default_dag_args étant définie sur yesterday, Cloud Composer planifie le démarrage du workflow immédiatement après l'importation du DAG.

Tâche 4 : Afficher les informations concernant l'environnement

  1. Retournez à Composer pour vérifier l'état de votre environnement.

  2. Une fois l'environnement créé, cliquez sur son nom (highcpu) pour en afficher les détails.

La page Détails de l'environnement contient des informations telles que l'URL de l'interface Web d'Airflow, l'ID du cluster Kubernetes Engine et un lien vers le dossier des DAG, stocké dans votre bucket.

Remarque : Cloud Composer planifie uniquement les workflows dans le dossier /dags.

Cliquez sur Vérifier ma progression pour valider l'objectif.

Créer un environnement Cloud Composer

Tâche 5 : Utiliser l'interface utilisateur d'Airflow

Pour accéder à l'interface Web Airflow à l'aide de la console Cloud :

  1. Retournez à la page Environnements.
  2. Dans la colonne Serveur Web Airflow associée à l'environnement, cliquez sur Airflow.
  3. Cliquez sur les identifiants qui vous ont été attribués pour cet atelier.
  4. L'interface Web Airflow s'ouvre dans une nouvelle fenêtre du navigateur.

Tâche 6 : Définir les variables Airflow

Les variables Airflow sont un concept spécifique à Airflow, et se distinguent des variables d'environnement.

  1. Sélectionnez Admin > Variables dans la barre de menu Airflow, puis cliquez sur + (Ajouter un enregistrement).

  2. Créez les variables Airflow gcp_project, gcs_bucket et gce_zone suivantes :

CLÉ

VALEUR

Détails

gcp_project

Le projet Google Cloud que vous utilisez pour cet atelier Qwik Start.

gcs_bucket

gs://

Il s'agit du nom du bucket Cloud Storage que vous avez créé précédemment, qui doit être le même que votre ID de projet, à moins que vous l'ayez modifié. Ce bucket stocke le résultat des jobs Hadoop exécutés sur Dataproc.

gce_zone

Il s'agit de la zone Compute Engine dans laquelle votre cluster Cloud Dataproc sera créé. Pour choisir une zone différente, reportez-vous à la page Régions et zones disponibles.

Remarque : Une fois que vous avez fini de saisir un enregistrement, cliquez sur Save (Enregistrer), puis cliquez de nouveau sur + pour saisir un nouvel enregistrement.

La table des variables doit se présenter comme suit lorsque vous avez terminé :

Table des variables affichant trois clés : gce_zone, gcp_project et gcs_bucket, ainsi que les valeurs associées, la description des clés et leur état de chiffrement

Tâche 7 : Importer le DAG dans Cloud Storage

Pour importer le DAG, vous importez une copie du fichier hadoop_tutorial.py dans le bucket Cloud Storage qui a été créé automatiquement lors de la création de l'environnement.

  1. Vous pouvez le vérifier en accédant à Composer > Environnements.

  2. Cliquez sur l'environnement que vous avez créé précédemment. Vous accédez alors à ses détails.

  3. Cliquez sur Configuration de l'environnement.

  4. Recherchez le dossier DAGs et copiez la valeur de son chemin d'accès. Exécutez ensuite la commande suivante dans Cloud Shell en remplaçant <DAGs_folder_path> par cette valeur :

gsutil cp hadoop_tutorial.py <DAGs_folder_path>

dags_folder

Cloud Composer ajoute le DAG à Airflow et le planifie automatiquement. Les modifications sont appliquées au DAG après 3 à 5 minutes. Le workflow sera désormais désigné par l'expression composer_hadoop_tutorial.

Vous pourrez voir l'état de la tâche dans l'interface Web Airflow.

Cliquez sur Vérifier ma progression pour valider l'objectif.

Importer le DAG dans Cloud Storage

Explorer les exécutions du DAG

Lorsque vous importez le fichier DAG dans le dossier dags de Cloud Storage, il est analysé par Cloud Composer. Si aucune erreur n'est détectée, le nom du workflow apparaît dans la liste des DAG, et le workflow est placé en file d'attente en vue d'une exécution immédiate.

Assurez-vous que l'onglet Graphes orientés acycliques de l'interface Web Airflow est actif. Ce processus peut prendre plusieurs minutes. Actualisez le navigateur pour afficher les informations les plus récentes.

  1. Dans Airflow, cliquez sur composer_hadoop_tutorial pour ouvrir la page d'informations du DAG. Cette page comprend une représentation graphique des tâches et des dépendances du workflow.

  2. Dans la barre d'outils, cliquez sur Vue graphique. Passez la souris sur le graphique de chaque tâche pour afficher l'état de la tâche en question. Notez que la bordure autour de chaque tâche indique également son état (bordure verte = exécution en cours, rouge = échec, etc.).

  3. Si nécessaire, activez l'actualisation automatique ou cliquez sur l'icône Actualiser pour vous assurer de disposer des informations les plus récentes. En fonction de l'évolution de l'état des processus, la couleur des bordures change.

Si la couleur de la bordure de create_dataproc_cluster a changé et que l'état est différent de "running" (exécution en cours), relancez le workflow depuis la vue graphique. Si le workflow est à l'état "running", vous n'avez pas besoin d'exécuter les 3 étapes ci-dessous.

  1. Cliquez sur le graphique create_dataproc_cluster.
  2. Cliquez sur Clear (Effacer) pour réinitialiser les trois tâches.
  3. Cliquez ensuite sur OK pour confirmer.

Notez que la couleur de la bordure de create_dataproc_cluster a changé et que l'état est maintenant "running" (exécution en cours).

Vous pouvez aussi surveiller le processus dans la console Cloud.

  1. Lorsque create_dataproc_cluster passe à l'état "running" (en cours d'exécution), accédez au menu de navigation >Dataproc, puis cliquez sur les éléments suivants :
  • Clusters pour surveiller la création et la suppression des clusters. Le cluster créé par le workflow est éphémère : il est supprimé lors de la dernière tâche de ce workflow.
  • Jobs pour surveiller le job de décompte de mots Apache Hadoop. Cliquez sur l'ID de job pour afficher la sortie du journal associée au job.
  1. Une fois que Dataproc passe à l'état "Running" (Exécution en cours), retournez à Airflow, puis cliquez sur Refresh (Actualiser) pour vérifier que le cluster est créé.

  2. Une fois le processus run_dataproc_hadoop terminé, accédez au menu de navigation, sélectionnez Cloud Storage > Buckets, puis cliquez sur le nom de votre bucket pour afficher les résultats du décompte de mots dans le dossier wordcount.

Cliquez sur Vérifier ma progression pour valider l'objectif.

Explorer les exécutions du DAG

Tester vos connaissances

Testez vos connaissances sur Google Cloud Platform en répondant à notre quiz.

Supprimer l'environnement Cloud Composer

  1. Revenez à la page Environments dans Composer.
  2. Cochez la case à côté de votre environnement Composer.
  3. Cliquez sur SUPPRIMER.
  4. Confirmez la fenêtre contextuelle en cliquant à nouveau sur DELETE.

Félicitations !

Félicitations ! Dans cet atelier, vous avez créé un environnement Cloud Composer, importé un DAG dans Cloud Storage et exécuté un workflow qui a créé un cluster Cloud Dataproc, exécuté un job de décompte de mots Hadoop et supprimé le cluster. Vous avez également découvert Airflow, ses concepts fondamentaux et son interface Web. Vous pouvez désormais utiliser Cloud Composer pour créer et gérer vos propres workflows.

Étapes suivantes

Cet atelier fait partie d'une série appelée "Qwik Starts". Les ateliers de cette série sont conçus pour vous présenter brièvement les nombreuses fonctionnalités proposées par Google Cloud. Pour suivre un autre atelier, recherchez "Qwik Starts" dans le catalogue.

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 : 18 décembre 2023

Dernier test de l'atelier : 18 décembre 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.