Démarrage rapide

Cloud Composer 1 | Cloud Composer 2

Cette page explique comment créer un environnement Cloud Composer et exécuter un DAG Apache Airflow dans Cloud Composer 1.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  6. Activez l'API Cloud Composer.

    Activer l'API

Créez un environnement

Console

  1. Dans Google Cloud Console, accédez à la page Créer un environnement.

    Accéder à la page "Créer un environnement"

  2. Dans le champ Nom, saisissez example-environment.

  3. Dans la liste déroulante Emplacement, sélectionnez une région pour l'environnement Cloud Composer. Consultez la section Régions disponibles pour plus d'informations sur la sélection d'une région.

  4. Pour les autres options de configuration de l'environnement, utilisez les valeurs par défaut fournies.

  5. Pour créer l'environnement, cliquez sur Créer.

  6. Attendez que l'environnement soit créé. Lorsque vous avez terminé, une coche verte s'affiche à côté du nom de l'environnement.

gcloud

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement. Ce guide de démarrage rapide utilise example-environment.

  • LOCATION par une région pour l'environnement Cloud Composer. Consultez la section Régions disponibles pour plus d'informations sur la sélection d'une région.

Exemple :

gcloud composer environments create example-environment \
    --location us-central1

Terraform

Pour configurer cet environnement à l'aide de Terraform, ajoutez le bloc de ressources suivant à votre configuration Terraform et exécutez terraform apply.

Pour en savoir plus sur la création d'un environnement Cloud Composer à l'aide de Terraform, consultez la documentation Terraform.

resource "google_composer_environment" "example" {
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"
}

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.

  • LOCATION par la région associée à l'environnement.

    Un emplacement est une région pour l'environnement Cloud Composer. Consultez la section Régions disponibles pour plus d'informations sur la sélection d'une région.

Exemple :

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"
}

Afficher les détails de l'environnement

Une fois l'environnement créé, vous pouvez afficher les informations de votre environnement, telles que la version de Cloud Composer, l'URL de l'interface Web Airflow et le dossier des DAG dans Cloud Storage.

Pour afficher les informations sur l'environnement, procédez comme suit:

  1. Dans Google Cloud Console, accédez à la page Environnements.

    Accéder à la page "Environnements"

  2. Pour afficher la page Détails de l'environnement, cliquez sur le nom de votre environnement, example-environment.

Créer un DAG

Un DAG Airflow est un ensemble de tâches organisées que vous souhaitez programmer et exécuter. Les DAG sont définis dans des fichiers Python standards.

Le code Python dans quickstart.py effectue les opérations suivantes :

  1. Il crée un DAG, composer_sample_dag, lequel s'exécute une fois par jour.
  2. Il exécute une tâche, print_dag_run_conf, qui imprime la configuration de l'exécution du DAG à l'aide de l'opérateur bash.

Pour créer un DAG, créez une copie du fichier quickstart.py sur votre machine locale.

Airflow 1

import datetime

import airflow
from airflow.operators import bash_operator

YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)

default_args = {
    'owner': 'Composer Example',
    'depends_on_past': False,
    'email': [''],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': datetime.timedelta(minutes=5),
    'start_date': YESTERDAY,
}

with airflow.DAG(
        'composer_sample_dag',
        'catchup=False',
        default_args=default_args,
        schedule_interval=datetime.timedelta(days=1)) as dag:

    # Print the dag_run id from the Airflow logs
    print_dag_run_conf = bash_operator.BashOperator(
        task_id='print_dag_run_conf', bash_command='echo {{ dag_run.id }}')

Airflow 2

import datetime

import airflow
from airflow.operators import bash

YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)

default_args = {
    'owner': 'Composer Example',
    'depends_on_past': False,
    'email': [''],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': datetime.timedelta(minutes=5),
    'start_date': YESTERDAY,
}

with airflow.DAG(
        'composer_sample_dag',
        'catchup=False',
        default_args=default_args,
        schedule_interval=datetime.timedelta(days=1)) as dag:

    # Print the dag_run id from the Airflow logs
    print_dag_run_conf = bash.BashOperator(
        task_id='print_dag_run_conf', bash_command='echo {{ dag_run.id }}')

Importer le DAG dans Cloud Storage

Cloud Composer planifie uniquement les DAG situés dans le dossier /dags du bucket Cloud Storage de l'environnement.

Pour programmer votre DAG, importez quickstart.py depuis votre machine locale vers le dossier /dags de votre environnement.

Console

  1. Dans Google Cloud Console, accédez à la page Environnements.

    Accéder à la page "Environnements"

  2. Pour ouvrir le dossier /dags, suivez le lien du dossier DaGs vers example-environment.

  3. Sur la page "Informations sur le bucket", cliquez sur Importer des fichiers, puis sélectionnez votre copie locale de quickstart.py.

  4. Pour importer le fichier, cliquez sur Ouvrir.

    Une fois le DAG importé, Cloud Composer ajoute le DAG à Airflow et planifie l'exécution immédiate du DAG. L'affichage du DAG dans l'interface Web Airflow peut prendre quelques minutes.

gcloud

Pour importer le fichier quickstart.py avec gcloud, exécutez la commande suivante:

gcloud composer environments storage dags import \
--environment example-environment  --location us-central1 \
--source quickstart.py

Afficher le DAG dans l'interface Web Airflow

Chaque environnement Cloud Composer possède un serveur Web qui exécute l'interface Web Airflow. Vous pouvez gérer les DAG à partir de l'interface Web Airflow.

Pour afficher le DAG dans l'interface Web Airflow, procédez comme suit :

Airflow 1

  1. Dans Google Cloud Console, accédez à la page Environnements.

    Accéder à la page "Environnements"

  2. Pour ouvrir l'interface Web Airflow, cliquez sur le lien Airflow pour example-environment. L'interface utilisateur d'Airflow s'ouvre dans une nouvelle fenêtre du navigateur.

  3. Dans la barre d'outils Airflow, accédez à la page DAG.

  4. Pour ouvrir la page de détails des DAG, cliquez sur composer_sample_dag.

    La page du DAG affiche l'arborescence, une représentation graphique des tâches et des dépendances du workflow.

Airflow 2

  1. Dans Google Cloud Console, accédez à la page Environnements.

    Accéder à la page "Environnements"

  2. Pour ouvrir l'interface Web Airflow, cliquez sur le lien Airflow pour example-environment. L'interface utilisateur d'Airflow s'ouvre dans une nouvelle fenêtre du navigateur.

  3. Dans la barre d'outils Airflow, accédez à la page DAG.

  4. Pour ouvrir la page de détails des DAG, cliquez sur composer_sample_dag.

    La page du DAG affiche l'arborescence, une représentation graphique des tâches et des dépendances du workflow.

Afficher les détails de l'instance de tâche dans les journaux Airflow

Le DAG que vous avez programmé inclut la tâche print_dag_run_conf. La tâche imprime la configuration de l'exécution du DAG, que vous pouvez voir dans les journaux Airflow de l'instance de tâche.

Pour afficher les détails de l'instance de tâche, procédez comme suit :

Airflow 1

  1. Dans l'arborescence du DAG figurant dans l'interface Web Airflow, cliquez sur Graph View (Vue graphique).

    Si vous placez le pointeur de la souris sur la tâche print_dag_run_conf, son état s'affiche.

  2. Cliquez sur la tâche print_dag_run_conf.

    Dans le menu contextuel Task Instance (Instance de tâche), vous pouvez obtenir des métadonnées et effectuer certaines actions.

  3. Dans le menu contextuel Task Instance (Instance de tâche), cliquez sur View Log (Afficher le journal).

  4. Dans le journal, recherchez Running: ['bash' pour voir le résultat de l'opérateur bash.

Airflow 2

  1. Dans l'arborescence du DAG figurant dans l'interface Web Airflow, cliquez sur Graph View (Vue graphique).

    Si vous placez le pointeur de la souris sur la tâche print_dag_run_conf, son état s'affiche.

  2. Cliquez sur la tâche print_dag_run_conf.

    Dans le menu contextuel Task Instance (Instance de tâche), vous pouvez obtenir des métadonnées et effectuer certaines actions.

  3. Dans le menu contextuel Task Instance (Instance de tâche), cliquez sur Log (Journal).

  4. Dans le journal, recherchez Running command: ['bash' pour afficher la sortie de l'opérateur bash.

    [2021-10-04 15:27:21,029] {subprocess.py:63} INFO - Running command:
    ['bash', '-c', 'echo 735']
    [2021-10-04 15:27:21,167] {subprocess.py:74} INFO - Output:
    [2021-10-04 15:27:21,168] {subprocess.py:78} INFO - 735
    [2021-10-04 15:27:21,168] {subprocess.py:82} INFO - Command exited with
    return code 0
    

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans cette page soient facturées sur votre compte Google Cloud :

Choisissez l'une des options proposées :

  • Le moyen le plus simple de nettoyer consiste à supprimer le projet que vous avez créé pour le démarrage rapide.
  • Vous pouvez également supprimer les différentes ressources.

Supprimer le projet

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Si le projet que vous envisagez de supprimer est associé à une organisation, développez la liste Organisation dans la colonne Nom.
  3. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  4. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer des ressources individuelles

Au lieu de supprimer le projet, vous pouvez supprimer les ressources utilisées dans ce tutoriel:

  1. Supprimez l'environnement Cloud Composer:

    1. Dans Google Cloud Console, accédez à la page Environnements.

      Accéder à la page "Environnements"

    2. Sélectionnez example-environment, puis cliquez sur Supprimer.

    3. Attendez que l'environnement soit supprimé.

  2. Supprimez le bucket de votre environnement. La suppression de l'environnement Cloud Composer ne supprime pas son bucket.

    1. Dans Google Cloud Console, accédez à la page Storage > Browser (Stockage > Navigateur).

      Accédez à Stockage > Navigateur

    2. Sélectionnez le bucket de l'environnement, puis cliquez sur Supprimer. Par exemple, ce bucket peut être nommé us-central1-example-environ-c1616fe8-bucket.

  3. Supprimez le disque persistant de la file d'attente Redis de votre environnement. La suppression de l'environnement Cloud Composer ne supprime pas son disque persistant.

    1. Dans Google Cloud Console, accédez à Compute Engine > Disks (Disques).

      Accéder à la page Disques

    2. Sélectionnez le disque persistant de la file d'attente Redis de l'environnement, puis cliquez sur Supprimer. Par exemple, ce disque peut être nommé gke-us-central1-exampl-pvc-b12055b6-c92c-43ff-9de9-10f2cc6fc0ee. Ces disques ont toujours le type Standard persistent disk et la taille de 2 Go.

Étape suivante