
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create Cloud Composer environment.
/ 25
Create two Cloud Storage buckets.
/ 25
Create a dataset.
/ 25
Uploading the DAG and dependencies to Cloud Storage
/ 25
Imaginez que vous avez des ensembles de données dans plusieurs emplacements à travers le monde et que vos données se trouvent dans des buckets Google Cloud Storage ou des tables BigQuery. Comment pouvez-vous organiser ces données afin de les consolider et de les analyser tout en dégageant des insights sur votre entreprise ?
Cloud Composer vous aide à créer des workflows et à transférer vos données entre des régions et des systèmes de stockage, avec une vue graphique intuitive. Il inclut entre autres des modèles permettant de transférer de façon facile et fiable des données de BigQuery vers Cloud Storage, et inversement.
Dans cet atelier, vous allez créer et exécuter dans Cloud Composer un workflow Apache Airflow qui effectue les tâches suivantes :
Dans cet atelier, vous allez apprendre à :
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 :
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 :
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.
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
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.
Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
Cliquez sur Suivant.
Accédez aux pages suivantes :
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
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.
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 :
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.
Cliquez sur Autoriser.
Vous devez à présent obtenir le résultat suivant :
Résultat :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Dans la barre de titre de la console Google Cloud, saisissez Composer dans le champ de recherche, puis cliquez sur Composer dans la section "Produits et pages" pour créer un environnement Cloud Composer.
Cliquez ensuite sur Créer un environnement.
Dans le menu déroulant, sélectionnez Composer 3.
Définissez les paramètres suivants pour votre environnement :
Nom : composer-advanced-lab
Emplacement :
Version de l'image : composer-3-airflow-n.n.n-build.n (sélectionnez la dernière version disponible de l'image)
Sous Ressources de l'environnement, sélectionnez Petit.
Cliquez sur le menu déroulant Afficher les options de configuration avancées et sélectionnez
Conservez les valeurs par défaut de tous les autres paramètres.
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.
créer des buckets Cloud Storage et l'ensemble de données de destination BigQuery
.Cliquez sur Vérifier ma progression pour valider l'objectif.
Dans cette tâche, vous allez créer deux buckets Cloud Storage multirégionaux. Ces buckets serviront à copier les tables exportées entre les emplacements, à savoir des États-Unis vers l'Union européenne.
Appliquer la protection contre l'accès public sur ce bucket
et cliquez sur Confirmer dans le pop-up L'accès public sera bloqué
, si vous y êtes invité.Répétez ces étapes pour créer un autre bucket dans la région EU
. Le nom unique universel doit inclure l'emplacement sous la forme d'un suffixe (ex. :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créez l'ensemble de données de destination BigQuery dans l'Union européenne depuis la nouvelle interface utilisateur Web de BigQuery.
Accédez au menu de navigation > BigQuery.
Le message Bienvenue sur BigQuery dans la console Cloud s'affiche. Il contient un lien vers le guide de démarrage rapide et liste les mises à jour de l'interface utilisateur.
Cliquez sur OK.
Cliquez sur l'icône à trois points figurant à côté de l'ID de votre projet Qwiklabs, puis sélectionnez Créer un ensemble de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
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 (DAG). 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.
DAG : un graphe orienté acyclique est un ensemble de tâches, organisé de façon à refléter les relations et 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. Un état indicatif lui est attribué : running (exécution en cours), success (réussite), failed (échec), skipped (ignorée), ...
En savoir plus sur les concepts d'Airflow dans la documentation sur les concepts.
Les workflows Cloud Composer sont constitués de DAG (graphes orientés acycliques). Le code illustré dans bq_copy_across_locations.py correspond au code du workflow, également appelé "DAG". Ouvrez maintenant le fichier pour voir comment il se présente. Vous verrez ensuite en détail certains des composants clés de ce fichier.
Pour orchestrer toutes les tâches du workflow, le DAG importe les opérateurs suivants :
DummyOperator
: crée des tâches de début et de fin factices pour une meilleure représentation visuelle du DAG.BigQueryToCloudStorageOperator
: exporte les tables BigQuery vers les buckets Cloud Storage au format Avro.GoogleCloudStorageToGoogleCloudStorageOperator
: copie les fichiers dans les buckets Cloud Storage.GoogleCloudStorageToBigQueryOperator
: importe les tables des fichiers Avro dans un bucket Cloud Storage.read_table_list()
est définie de manière à lire le fichier de configuration et à créer la liste des tables à copier :bq_copy_us_to_eu_01
. Le DAG n'étant pas programmé par défaut, il doit être déclenché manuellement.Cloud StoragePlugin(AirflowPlugin)
en mappant le hook et l'opérateur téléchargés depuis la branche Airflow 1.10-stable.Retournez à Composer pour vérifier l'état de votre environnement.
Une fois l'environnement créé, cliquez sur son nom pour en afficher les détails.
La page Détails de l'environnement contient des informations telles que l'URL de l'interface utilisateur Web d'Airflow, l'ID du cluster Google Kubernetes Engine et le nom du bucket Cloud Storage connecté au dossier des DAG.
Les prochaines étapes doivent être effectuées dans Cloud Shell.
Les environnements virtuels Python permettent d'isoler l'installation d'un package du système.
virtualenv
: -composer-advanced-YOURDAGSBUCKET-bucket
.Vous allez utiliser cette variable un certain nombre de fois au cours de cet atelier.
Les variables Airflow sont un concept spécifique à Airflow, et se distinguent des variables d'environnement. Dans cette étape, vous allez définir les trois variables Airflow suivantes, qui seront utilisées par le DAG que nous allons déployer : table_list_file_path
, gcs_source_bucket
et gcs_dest_bucket
.
Clé | Valeur | Détails |
---|---|---|
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv | Fichier CSV répertoriant les tables source et cible, y compris l'ensemble de données |
gcs_source_bucket |
{ID UNIQUE}-us | Bucket Cloud Storage à utiliser pour exporter la table BigQuery tabledest_bbucks depuis l'emplacement source |
gcs_dest_bucket |
{ID UNIQUE}-eu | Bucket Cloud Storage à utiliser pour importer les tables BigQuery dans l'emplacement de destination |
La commande gcloud composer
suivante permet d'exécuter les variables de la sous-commande CLI Airflow. La sous-commande transmet les arguments à l'outil de ligne de commande gcloud
.
Pour définir les trois variables, vous allez exécuter la commande composer
pour chacune des lignes de la table ci-dessus. La commande se présente comme suit :
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not callable)
. Il s'agit d'un problème connu lors de l'utilisation de gcloud composer environments run
avec la version 410.0.0 de gcloud. Vos variables seront quand même définies malgré le message d'erreur.
ENVIRONMENT_NAME
correspond au nom de l'environnement.LOCATION
est la région Compute Engine dans laquelle se trouve l'environnement. Vous devez inclure l'option --location
ou définir l'emplacement par défaut dans la commande gcloud composer avant de l'exécuter.KEY
et VALUE
indiquent la variable à définir et sa valeur. Ajoutez un espace, deux tirets et un espace ( --
) entre la commande gcloud
de gauche spécifiant les arguments gcloud, et les arguments associés à la sous-commande Airflow de droite. Incluez également un espace entre les arguments KEY
et VALUE
. Exécutez la commande gcloud composer environments run
avec les variables de la sous-commande.Exécutez les commandes suivantes dans Cloud Shell, en remplaçant gcs_source_bucket
et gcs_dest_bucket
par les noms des buckets que vous avez créés lors de la tâche 2.
Pour afficher la valeur d'une variable, utilisez la sous-commande variables de la CLI Airflow avec l'argument get
ou utilisez l'interface utilisateur Airflow.
Par exemple, exécutez la commande suivante :
Cloud Composer enregistre automatiquement le DAG dans votre environnement Airflow, et les modifications sont appliquées au DAG après trois à cinq minutes. L'état de la tâche s'affiche dans l'interface Web d'Airflow. Vous pouvez voir que le DAG n'est pas programmé, conformément aux paramètres.
Pour accéder à l'interface Web Airflow à l'aide de la console Cloud :
Les variables que vous avez définies précédemment sont conservées dans votre environnement.
Cliquez sur l'onglet Graphes orientés acycliques et attendez la fin du chargement des liens.
Pour déclencher le DAG manuellement, cliquez sur le bouton de lecture pour composer_sample_bq_copy_across_locations
:
Cliquez sur Vérifier ma progression pour valider l'objectif.
Lorsque vous importez le fichier DAG dans le dossier "Graphes orientés acycliques" 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 si les conditions de la programmation sont remplies. Dans notre exemple, aucune programmation n'a été définie dans les paramètres.
L'état dans la colonne Exécutions devient vert lorsque vous appuyez sur le bouton de lecture :
Pour exécuter de nouveau le workflow à partir de la vue Graphique :
Actualisez le navigateur pendant l'exécution du processus pour afficher les informations les plus récentes.
Vous allez maintenant vérifier l'état et les résultats du workflow. Pour ce faire, accédez à ces pages de la console Cloud :
Vous avez copié des tables de manière programmatique de l'emplacement américain vers l'emplacement européen. Cet atelier se base sur cet article de blog publié par David Sabater Dinter.
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 : 21 juin 2024
Dernier test de l'atelier : 21 juin 2024
Copyright 2025 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.
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
One lab at a time
Confirm to end all existing labs and start this one