Cloud Composer 1 Cloud Composer 2
In dieser Anleitung wird gezeigt, wie Sie mit Cloud Composer einen Apache Airflow-DAG (Directed Acyclic Graph) erstellen, der einen Apache Hadoop-Wordcount-Job in einem Dataproc-Cluster ausführt.
Lernziele
- Rufen Sie Ihre Cloud Composer-Umgebung auf und verwenden Sie die Airflow-UI.
- Airflow-Umgebungsvariablen erstellen und aufrufen
- Erstellen Sie einen DAG mit den folgenden Aufgaben und führen Sie ihn aus:
- Ein Dataproc-Cluster wird erstellt.
- Führt einen Apache Hadoop-Job zum Zählen der Wörter im Cluster aus.
- Gibt die Ergebnisse der Wortanzahl in einem Cloud Storage-Bucket aus.
- Löscht den Cluster.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Cloud Composer
- Dataproc
- Cloud Storage
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweise
Achten Sie darauf, dass die folgenden APIs in Ihrem Projekt aktiviert sind:
Console
Dataproc, Cloud Storage APIs aktivieren.
gcloud
Aktivieren Sie die Dataproc, Cloud Storage APIs:
gcloud services enable dataproc.googleapis.com
storage-component.googleapis.com Erstellen Sie einen Cloud Storage-Bucket einer beliebigen Speicherklasse und Region in Ihrem Projekt, um die Ergebnisse des Hadoop-Wordcount-Jobs zu speichern.
Notieren Sie sich den Pfad des Buckets, den Sie erstellt haben, z. B.
gs://example-bucket
. Sie definieren eine Airflow-Variable für diesen Pfad und verwenden sie später in dieser Anleitung im Beispiel-DAG.Erstellen Sie eine Cloud Composer-Umgebung mit Standardparametern. Warten Sie, bis die Erstellung der Umgebung abgeschlossen ist. Wenn der Vorgang abgeschlossen ist, wird links neben dem Umgebungsnamen das grüne Häkchen angezeigt.
Notieren Sie sich die Region, in der Sie die Umgebung erstellt haben, z. B.
us-central
. Sie definieren eine Airflow-Variable für diese Region und verwenden sie im Beispiel-DAG, um einen Dataproc-Cluster in derselben Region auszuführen.
Airflow-Variablen festlegen
Legen Sie die Airflow-Variablen fest, die später im Beispiel-DAG verwendet werden. Sie können Airflow-Variablen beispielsweise in der Airflow-UI festlegen.
Airflow-Variable | Wert |
---|---|
gcp_project
|
Die Projekt-ID des Projekts, das Sie für diese Anleitung verwenden, z. B. example-project . |
gcs_bucket
|
Den Cloud Storage-URI-Bucket, den Sie für diese Anleitung erstellt haben, z. B. gs://example-bucket |
gce_region
|
Die Region, in der Sie die Umgebung erstellt haben, z. B. us-central1 .
Dies ist die Region, in der Ihr Dataproc-Cluster erstellt wird. |
Beispielworkflow ansehen
Ein Airflow-DAG ist eine Sammlung organisierter Aufgaben, die Sie planen und ausführen möchten. DAGs werden in Standard-Python-Dateien definiert. Der in hadoop_tutorial.py
angezeigte Code ist der Workflowcode.
Airflow 2
Airflow 1
Operatoren
Zur Orchestrierung der drei Aufgaben im Beispielworkflow importiert der DAG die folgenden drei Airflow-Operatoren:
DataprocClusterCreateOperator
: Erstellt einen Dataproc-Cluster.DataProcHadoopOperator
: sendet einen Hadoop-Wordcount-Job und schreibt die Ergebnisse in einen Cloud Storage-Bucket.DataprocClusterDeleteOperator
: Löscht den Cluster, um laufende Compute Engine-Gebühren zu vermeiden.
Abhängigkeiten
Sie organisieren Aufgaben, die Sie ausführen möchten, so, dass ihre Beziehungen und Abhängigkeiten widergespiegelt werden. Die Aufgaben in diesem DAG werden nacheinander ausgeführt.
Airflow 2
Airflow 1
Wird geplant
Der Name des DAG lautet composer_hadoop_tutorial
. Er wird einmal täglich ausgeführt. Da die an default_dag_args
übergebene start_date
auf yesterday
gesetzt ist, plant Cloud Composer den Workflow so, dass er sofort nach dem Hochladen des DAG in den Bucket der Umgebung startet.
Airflow 2
Airflow 1
DAG in den Bucket der Umgebung hochladen
Cloud Composer speichert DAGs im Ordner /dags
im Bucket Ihrer Umgebung.
So laden Sie den DAG hoch:
Speichern Sie
hadoop_tutorial.py
auf Ihrem lokalen Computer.Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen in der Spalte DAGs-Ordner für Ihre Umgebung auf den Link DAGs.
Klicken Sie auf Dateien hochladen.
Wählen Sie
hadoop_tutorial.py
auf Ihrem lokalen Computer aus und klicken Sie auf Öffnen.
Cloud Composer fügt den DAG zu Airflow hinzu und plant ihn automatisch. DAG-Änderungen werden innerhalb von 3 bis 5 Minuten wirksam.
DAG-Ausführungen kennenlernen
Aufgabenstatus ansehen
Wenn Sie die DAG-Datei in den Ordner dags/
in Cloud Storage hochladen, parst Cloud Composer die Datei. Wenn der Workflow erfolgreich abgeschlossen wurde, wird der Name des Workflows in der DAG-Liste angezeigt und der Workflow wird zur sofortigen Ausführung in die Warteschlange gestellt.
Rufen Sie zur Anzeige des Aufgabenstatus die Airflow-Weboberfläche auf und klicken Sie in der Symbolleiste auf DAGs.
Klicken Sie zum Öffnen der DAG-Detailseite auf
composer_hadoop_tutorial
. Diese Seite enthält eine grafische Darstellung der Workflowaufgaben und -abhängigkeiten.Klicken Sie zur Anzeige des Status jeder Aufgabe auf Graph View und bewegen Sie den Mauszeiger auf die Grafik für jede Aufgabe.
Workflow wieder in die Warteschlange stellen
So führen Sie den Workflow über die Grafikansicht noch einmal aus:
- Klicken Sie in der Grafikansicht der Airflow-Benutzeroberfläche auf die Grafik
create_dataproc_cluster
. - Klicken Sie zum Zurücksetzen der drei Aufgaben auf Clear und anschließend auf OK.
- Klicken Sie in der Grafikansicht noch einmal auf
create_dataproc_cluster
. - Zum nochmaligen Übergeben des Workflows an die Warteschlange klicken Sie auf Run.
Aufgabenergebnisse ansehen
Sie können den Status und die Ergebnisse des Workflows composer_hadoop_tutorial
auch auf den folgenden Seiten der Google Cloud Console prüfen:
Dataproc-Cluster: zum Überwachen der Erstellung und des Löschens von Clustern. Der vom Workflow erstellte Cluster ist sitzungsspezifisch. Er existiert nur für die Dauer des Workflows und wird mit der letzten Workflowaufgabe gelöscht.
Dataproc-Jobs: zum Aufrufen oder Überwachen des Apache Hadoop-Wordcount-Jobs. Klicken Sie auf die Job-ID, um die Ausgabe des Job-Logs aufzurufen.
Cloud Storage-Browser: Zeigt die Ergebnisse der Wortanzahl im Ordner
wordcount
des Cloud Storage-Bucket an, den Sie für diese Anleitung erstellt haben.
Bereinigen
Löschen Sie die in dieser Anleitung verwendeten Ressourcen:
Löschen Sie die Cloud Composer-Umgebung, einschließlich des Buckets der Umgebung.
Löschen Sie den Cloud Storage-Bucket, in dem die Ergebnisse des Hadoop-Wordcount-Jobs gespeichert sind.