Cloud Composer

Cloud Composer 1 Cloud Composer 2

Cloud Composer ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, mit dem Sie Workflowpipelines, die sich über Clouds und lokale Rechenzentren erstrecken, erstellen, planen, überwachen und verwalten können.

Cloud Composer basiert auf dem beliebten Open-Source-Projekt Apache Airflow und wird in der Programmiersprache Python verwendet.

Durch die Verwendung von Cloud Composer anstelle einer lokalen Instanz von Apache Airflow können Sie vom Besten von Airflow profitieren, ohne dass eine Installation oder ein hoher Verwaltungsaufwand erforderlich sind. Mit Cloud Composer können Sie schnell verwaltete Airflow-Umgebungen erstellen und native Airflow-Tools wie die leistungsstarke Airflow-Weboberfläche und Befehlszeilentools verwenden. So können Sie sich auf Ihre Workflows statt auf die Infrastruktur konzentrieren.

Apache Airflow und Cloud Composer

Workflows, DAGs und Aufgaben

Bei der Datenanalyse stellt ein Workflow eine Reihe von Aufgaben zum Aufnehmen, Transformieren, Analysieren oder Nutzen von Daten dar. In Airflow werden Workflows mithilfe von DAGs oder „gerichteten azyklischen Graphen“ erstellt.

Beziehung zwischen DAGs und Aufgaben
Abbildung 1: Beziehung zwischen DAGs und Aufgaben

Ein DAG ist eine Sammlung von Aufgaben, die Sie planen und ausführen möchten, so, dass die Struktur deren Beziehungen und Abhängigkeiten wiedergibt. DAGs werden in Python-Skripts erstellt, die die DAG-Struktur (Aufgaben und deren Abhängigkeiten) mithilfe von Code definieren.

Jede Aufgabe in einem DAG kann fast alles darstellen. Eine Aufgabe kann beispielsweise eine der folgenden Funktionen ausführen:

  • Daten für die Aufnahme vorbereiten
  • API beobachten
  • E-Mails senden
  • Pipeline ausführen

Ein DAG sollte sich nicht mit der Funktion jeder einzelnen Aufgabe befassen. Ziel von ihr ist es, sicherzustellen, dass jede Aufgabe zur richtigen Zeit, in der richtigen Reihenfolge oder mit der richtigen Fehlerbehandlung ausgeführt wird.

Airflow-Workflows, -DAGs und -Aufgaben

Weitere Informationen zu DAGs und Aufgaben finden Sie in der Apache Airflow-Dokumentation.

Cloud Composer-Umgebungen

Wenn Sie Workflows ausführen möchten, müssen Sie zuerst eine Umgebung erstellen. Airflow hängt von der Anzahl der ausgeführten Mikrodienste ab. Cloud Composer stellt Google Cloud-Komponenten zum Ausführen Ihrer Workflows bereit. Diese Komponenten werden allgemein als Cloud Composer-Umgebung bezeichnet.

Umgebungen sind eigenständige Airflow-Deployments, die auf Google Kubernetes Engine basieren. Sie funktionieren auch mit anderen in Airflow integrierten Google Cloud-Diensten. Sie können eine oder mehrere Umgebungen in einem einzelnen Google Cloud-Projekt erstellen. Sie können Cloud Composer-Umgebungen in jeder unterstützten Region erstellen.

Ausführliche Informationen zu den Komponenten einer Umgebung finden Sie unter Architektur der Cloud Composer-Umgebung.

Vorteile von Cloud Composer

Wenn Sie Cloud Composer verwenden, können Sie Features wie die folgenden verwalten und verwenden:

  • Airflow-Umgebungen
  • Airflow-Verwaltung
  • Airflow-Konfiguration
  • Airflow-DAGs (Workflows)
  • Benutzerdefinierte Apache-Plug-ins

Informationen zur Funktionsweise von Cloud Composer mit Airflow-Features wie Airflow-DAGs, Airflow-Konfigurationsparameter, benutzerdefinierten Plug-ins und Python-Abhängigkeiten finden Sie unter Cloud Composer-Features.

Häufig gestellte Fragen

Welche Version von Apache Airflow verwendet Cloud Composer?

Cloud Composer unterstützt sowohl Airflow 1 als auch Airflow 2.

Cloud Composer-Umgebungen basieren auf Cloud Composer-Images. Beim Erstellen einer Umgebung können Sie ein Image mit einer bestimmten Airflow-Version auswählen.

Sie haben die Kontrolle über die Apache Airflow-Version Ihrer Umgebung. Sie können Ihre Umgebung auf eine neuere Version des Cloud Composer-Images aktualisieren. Jede Cloud Composer-Version unterstützt mehrere Apache Airflow-Versionen.

Kann ich die native Airflow-UI und -Befehlszeile verwenden?

Sie können auf die Apache Airflow-Weboberfläche Ihrer Umgebung zugreifen. Jede Umgebung hat eine eigene Airflow-UI. Weitere Informationen zum Zugriff auf die Airflow-UI finden Sie unter Airflow-Weboberfläche.

Zum Ausführen von Befehlen der Airflow-Befehlszeile in Ihren Umgebungen verwenden Sie gcloud-Befehle. Weitere Informationen zum Ausführen von Befehlen der Airflow-Befehlszeile in Cloud Composer-Umgebungen finden Sie unter Airflow-Befehlszeile.

Kann ich meine eigene Datenbank als Airflow-Metadatendatenbank verwenden?

Cloud Composer verwendet für die Airflow-Metadatendatenbank einen verwalteten Datenbankdienst. Eine vom Nutzer bereitgestellte Datenbank kann nicht als Airflow-Metadatendatenbank verwendet werden.

Kann ich meinen eigenen Cluster als Cloud Composer-Cluster verwenden?

Cloud Composer verwendet den Google Kubernetes Engine-Dienst zum Erstellen, Verwalten und Löschen von Umgebungsclustern, auf denen Airflow-Komponenten ausgeführt werden. Diese Cluster werden vollständig von Cloud Composer verwaltet.

Es ist nicht möglich, eine Cloud Composer-Umgebung basierend auf einem selbstverwalteten Google Kubernetes Engine-Cluster zu erstellen.

Kann ich meine eigene Container Registry verwenden?

Cloud Composer verwendet den Artifact Registry-Dienst, um Container-Image-Repositories zu verwalten, die in Cloud Composer-Umgebungen verwendet werden. Sie kann nicht durch eine vom Nutzer bereitgestellte Container Registry ersetzt werden.

Sind Cloud Composer-Umgebungen zonal oder regional?

Cloud Composer 1-Umgebungen sind zonal.

Cloud Composer 2-Umgebungen haben eine zonale Airflow-Metadatendatenbank und eine regionale Airflow-Planungs- und Ausführungsebene. Airflow-Planer, Worker und Webserver werden auf der Airflow-Ausführungsebene ausgeführt.

Nächste Schritte