Blog

GCP Workflows - wie können Sie einen leichtgewichtigen verwalteten Orchestrator in Modern Data Stack integrieren? GID Moderne Datenplattform

Anita Śledź

Aktualisiert Oktober 15, 2025
9 Minuten

Modern Data Stack gibt es schon seit einiger Zeit. Sowohl die Tools als auch die Integrationsmuster sind inzwischen ausgereift und erprobt. Vor ein paar Monaten haben wir unsere Lösungskonzepte vorgestellt: GetInData Modern Data Platform - Funktionen & Tools . Seitdem haben wir viele Fragen zu unserer Plattform und den vorgeschlagenen Technologien erhalten. Eine der häufigsten war: Warum fangen wir nicht schnell und klein an und entscheiden uns für einen leichtgewichtigen verwalteten Orchestrator? Dies war ein klarer Hinweis darauf, dass wir auf einige Alternativen für Apache Airflow und Cloud Composer vorbereitet sein mussten. Auf diese Weise haben wir GCP Workflows als vollwertiges Element in unseren Stack integriert. Im Folgenden erfahren Sie, was die typischen Anwendungsfälle sind und wie wir das Thema der Integration von GCP Workflows mit anderen Komponenten angegangen sind

Teil 1: Einführung

Bevor wir uns näher mit Datenpipelines und den verschiedenen Möglichkeiten ihrer Orchestrierung befassen, lassen Sie uns mit einigen Grundlagen beginnen.

Was ist dbt?

dbt (Data Build Tool) ist ein Open-Source-Befehlszeilentool, mit dem Datenanalysten und Ingenieure ihre Datenpipelines transformieren, testen und dokumentieren können.

dbt ermöglicht es Benutzern, Datenmodelle und -transformationen sowie Tests auf rationale und wiederholbare Weise zu erstellen und einzusetzen.

dbt ist aufgrund seiner Modularität und seines versionskontrollierten Ansatzes für die Datentransformation und -modellierung ein sehr attraktives Tool. Außerdem bietet es automatisierte Tests, Dokumentation und Flexibilität für die Arbeit mit einer Vielzahl von Datenbanken und Data Warehouses.

dbt ist kostenlos und quelloffen, d.h. die Benutzer können die Software ohne zusätzliche Kosten nutzen, verändern und weitergeben. Das macht dbt zu einer zugänglichen und kostengünstigen Option für Unternehmen jeder Größe, insbesondere für kleinere Startups oder Organisationen mit begrenztem Budget.

Orchestrierung mit Apache Airflow

Die Definition von Datentransformationen und deren Abhängigkeiten ist definitiv eine Kernfunktionalität einer Datenpipeline. Allerdings könnten wir nicht sagen, dass wir einen vollständig automatisierten Stack haben, wenn wir ihn nicht richtig orchestrieren würden. Zunächst haben wir unsere Lösung mit Apache Airflow integriert, einem der am häufigsten verwendeten Tools auf dem Markt.

Als Teil dieser Integration haben wir bei GetInData die dbt-airflow-factory Paket entwickelt, das dbt-Artefakte mit Airflow kombiniert, indem es die von dbt erzeugte Manifestdatei on-the-fly in einen gerichteten azyklischen Graphen (DAG) mit einer überschaubaren grafischen Darstellung der Datenpipeline umwandelt. Als wir unsere Aufmerksamkeit auf GCP-Workflows lenkten, wurde klar, dass wir eine ähnliche Automatisierung brauchen würden, und so entstand die Idee zu dbt-workflows-factory.

Was ist GCP Workflows & Cloud Batch?

GCP Workflows ist ein verwalteter Workflow-Orchestrierungsdienst. Er wird von GCP zur Verfügung gestellt und ermöglicht dem Benutzer die Automatisierung, Verwaltung und Analyse komplexer Workflows über mehrere von Google bereitgestellte Dienste hinweg.

Die Hauptanwendungsfälle von Workflows sind die Automatisierung von Datenverarbeitungspipelines, die es ermöglichen, Daten aus verschiedenen Quellen aufzunehmen, umzuwandeln und in andere Systeme oder Anwendungen zu exportieren.

GCP Workflows ist eine leistungsstarke Plattform, die sich durch Benutzerfreundlichkeit, nahtlose Integration mit anderen GCP-Komponenten und Kosteneffizienz auszeichnet. Mit einer einfachen und intuitiven Benutzeroberfläche können Benutzer schnell komplexe Workflows über GCP-Dienste hinweg erstellen und ausführen. GCP Workflows wird auf der Grundlage eines Pay-as-you-go-Modells abgerechnet, mit einer kostenlosen Stufe und Preisplänen, die Rabatte für eine dauerhafte Nutzung beinhalten. Insgesamt ist GCP Workflows eine vielseitige und kosteneffiziente Plattform, die Unternehmen dabei helfen kann, ihre Arbeitsabläufe zu rationalisieren und Zeit und Geld zu sparen.

GCP Batch Jobs ist ein verwalteter Stapelverarbeitungsdienst, der ebenfalls von Google bereitgestellt wird und es Nutzern ermöglicht, große Datenmengen mit verteilten Rechentechniken zu verarbeiten. Der Benutzer muss die zugrunde liegende Infrastruktur nicht verwalten.

Es wurde so konzipiert, dass es nahtlos mit anderen Google Cloud-Diensten zusammenarbeitet und es Benutzern ermöglicht, ihre Batch-Jobs mithilfe von Docker-Containern zu definieren. Außerdem bietet es Funktionen für die Planung, Überwachung und Verwaltung von Aufträgen.

Auch GCP Batch wird nach einem Pay-as-you-go-Modell abgerechnet, wobei sich der Preis nach der Anzahl der genutzten virtuellen Maschineninstanzen und der Dauer ihrer Nutzung richtet. Es ist auch eine kostenlose Stufe verfügbar.

Wenn Sie GCP Batch mit Apache Airflow vergleichen, ist es wichtig zu wissen, dass Airflow keine serverlose Plattform ist und Infrastrukturmanagement erfordert.

Allerdings bietet Airflow mehr Flexibilität und Kontrolle über Ihre Arbeitsabläufe sowie ein ausgereifteres Ökosystem von Plugins und Integrationen. Außerdem ist Airflow kostenlos und quelloffen, auch wenn Sie die Infrastruktur, auf der es läuft, selbst verwalten müssen.

Die Ausführung von GCP-Batch-Aufträgen, die von GCP-Workflows orchestriert werden, bietet zahlreiche Vorteile, ist aber nicht immer so einfach. Der Prozess wird im Folgenden beschrieben, aber konzentrieren wir uns auf die Vorteile, die er bietet:

  1. Skalierbarkeit - Batch-Aufträge eignen sich hervorragend für die schnelle und effiziente Verarbeitung großer Datenmengen, während Workflows die Prozesse einfach verwalten.
  2. Automatisierung - GCP-Workflows ermöglichen es Benutzern, den Prozess von A bis Z zu automatisieren, indem sie das Auslösen von Aufträgen, die Überwachung des Fortschritts und die Behandlung von Fehlern ermöglichen.
  3. Flexibilität - Workflows können Batch-Aufträge orchestrieren, die verschiedene GCP-Dienste nutzen, was den Benutzern viele Felder für die Entdeckung bietet.

Aus diesem Grund möchten wir Ihnen jetzt die dbt-workflows-factory - vorstellen, eine Python-Bibliothek, die es Benutzern ermöglicht, dbt-Aufgaben zu integrieren und Aufgaben mit GCP-Tools zu orchestrieren und auszuführen.

Teil 2: Den Fluss steuern

Wie können Sie eine dbt-Pipeline auf Cloud Batch mit GCP Workflow ausführen?

Um den dbt-Workflow auf Cloud Batch auszuführen, können Benutzer einen einfachen GCP-Workflow erstellen, der alle Aufträge automatisch auslöst.

Dazu muss nur eine einfache .yaml-Datei erstellt werden, um sie ausführen zu können.

Sie können eine solche .yaml mithilfe der neuen dbt-workflows-factory erstellen.

Konfiguration erstellen

Wie können Sie die dbt-workflows-factory über CLI verwenden?

Um von der CLI aus zu starten, müssen Sie in der Bibliothek einfach Folgendes aufrufen

Drücken Sie die Eingabetaste oder klicken Sie, um das Bild in voller Größe zu sehen




Dabei geben Sie die Argumente wie folgt an:

  1. image_uri: Url-Adresse für das Bild
  2. region: der Ort, an dem der Arbeitsablauf auf GCP ausgeführt wird (Beispiel: us-central1 oder europe-west1)
  3. full_commandVollständiger Befehl, der auf dem Bild ausgeführt wird (Beispiel: "dbt --no-write-json run --target env_execution --project-dir
    /dbt --profiles-dir /root/.dbt --select ")
  4. remote_path: gcs-Einhängepfad (Beispiel: "/mnt/disks/var")
  5. key_volume_mount_path: Pfad zum Mounten des Volumes, das den Schlüssel enthält (ex. /mnt/disks/var/keyfile_name.json)
  6. key_volume_path: Pfad für die Montage (z. B. ["/mnt/disks/var/:/mnt/disks/var/:rw"])
  7. key_path: ist ein entfernter Pfad für den zu mountenden Bucket mit dem Schlüssel

Wie können Sie die dbt-workflows-factory von Python aus verwenden?

Geben Sie die Parameter an und führen Sie den Konverter aus, um eine workflow.yaml-Datei aus manifest.json zu erstellen

from dbt-workflows-converter import DbtWorkflowsConverter, Params

params = Params(image_uri='my_image_url', region='us-central1', full_command='dbt run', remote_path='/mnt/disks/var', key_colume_mount_path='/mnt/disks/var/keyfile_name.json', key_volume_path='/mnt/disks/var/:/mnt/disks/var/:rw', key_path='bucketname' )

converter = DbtWorkflowsConverter(params)
converter.convert() # writes to file workflow.yaml

Wie können Sie die Konfiguration von GCP aus ausführen?

Wenn Sie Ihre .yaml fertig haben und die Secrets im richtigen Bucket liegen, gehen Sie zu GCP Workflows.

Sie haben zwei Möglichkeiten:

  1. Führen Sie den Auftrag von der GCP-Seite aus

Klicken Sie auf +, legen Sie die Region fest und fügen Sie dann Ihre .yaml-Datei ein.

  1. Von GCP CLI aus ausführen

Bei GCP anmelden

gcloud auth login*
gcloud config set project \[YOUR_PROJECT_ID]*

Und führen Sie dann die yaml aus:

gcloud workflows execute \[WORKFLOW_NAME] --source \[WORKFLOW_FILE]*
gcloud workflows executions describe \[EXECUTION_ID]*

Wie auch immer, danach sollten Sie Ihren Ablauf in GCP sehen:



Die einzelnen Aufträge sollten auch in GCP Batch sichtbar sein:
Drücken Sie die Eingabetaste oder klicken Sie, um das Bild in voller Größe zu sehen


Und das war's!

Teil 3: Über die Bibliothek

Über Uns

Die Bibliothek rationalisiert den Prozess der Konvertierung von dbt-Aufgaben in GCP-Workflows und erleichtert Entwicklern die Verwaltung von Datenpipelines auf GCP.

Diese Bibliothek ist auf GitHub verfügbar unter https://github.com/getindata/dbt-workflows-converter

Die erste Version der Bibliothek ist derzeit nur in der Lage, die dbt-Aufgaben run und model zu verarbeiten. Für die Zukunft ist jedoch geplant, auch kompliziertere Aufgaben zu analysieren, um die Automatisierung noch komplexerer Datenpipelines zu erleichtern.

Wann Sie GCP-Workflows anstelle von Airflow verwenden sollten

Bei der Entscheidung zwischen GCP Workflows und Airflow für die Workflow-Orchestrierung ist es wichtig, die einzigartigen Stärken und Schwächen der einzelnen Plattformen zu berücksichtigen.

GCP Workflows ist eine vollständig verwaltete, serverlose Plattform, die sich ideal für die Ausführung von Workflows eignet, die eine Integration mit anderen GCP-Diensten erfordern. Sie eignet sich besonders gut für den Aufbau von Datenpipelines, die in GCP-Speicherdiensten wie BigQuery oder Cloud Storage gespeicherte Daten verarbeiten.

Andererseits ist Airflow eine leistungsstarke Open-Source-Plattform, die eine größere Bandbreite an Anpassungsmöglichkeiten bietet und eine größere Anzahl von Integrationen von Drittanbietern unterstützt.

Airflow ist eine ausgezeichnete Wahl für komplexe Workflows, die umfangreiche Anpassungen und Konfigurationen erfordern. Airflow kann auch vor Ort oder in einer beliebigen Cloud-Umgebung ausgeführt werden, was es zu einer flexibleren Option als GCP Workflows macht.

Zusammenfassend lässt sich sagen, dass GCP Workflows wahrscheinlich die beste Wahl ist, wenn Ihr Arbeitsablauf hauptsächlich GCP-Dienste umfasst und die Integration mit anderen GCP-Tools erfordert.

Wenn Sie jedoch mehr Flexibilität, Kontrolle und die Integration von Drittanbietern benötigen, ist Airflow möglicherweise die bessere Wahl.

Letztendlich hängt die Wahl zwischen diesen beiden Plattformen von den spezifischen Anforderungen Ihres Projekts ab. Daher ist es wichtig, beide Optionen sorgfältig zu prüfen, bevor Sie eine Entscheidung treffen.

Pläne für die zukünftige Entwicklung

In Zukunft wird die Bibliothek als Plugin in das DP-Framework integriert werden, wodurch sie für Entwickler leichter zugänglich wird.

Darüber hinaus wird unser Modern Data Platform Framework um die Möglichkeit der Bereitstellung auf GCP Workflows erweitert, was den Prozess der Automatisierung von Datenpipelines weiter vereinfacht.

Die Bibliothek wird auch die Planung von Aufträgen in GCP-Workflows durch den Cloud Scheduler integrieren, wodurch es möglich ist, Datenpipelines in regelmäßigen Abständen zu automatisieren.

Und schließlich wird die Bibliothek die Konfigurierbarkeit von Workflow-Aufträgen erweitern, so dass es möglich ist, Datenpipelines auf spezifische Bedürfnisse abzustimmen.

Diese und weitere zukünftige Entwicklungen werden es Entwicklern noch einfacher machen, Datenpipelines auf GCP zu verwalten und den Data Engineering-Prozess zu vereinfachen und zu rationalisieren.

Fazit

Wir freuen uns darauf, die Auswirkungen dieses neuen Pakets zu sehen und unsere Mission fortzusetzen, innovative Lösungen für die Herausforderungen unserer Gemeinschaft zu bieten.

Wir möchten diese Gelegenheit nutzen, um alle zu ermutigen, zur weiteren Entwicklung dieses Pakets beizutragen hier . Ihr Feedback und Ihre Vorschläge sind für uns von unschätzbarem Wert und wir freuen uns über jeden Beitrag, den Sie leisten können.

Wenn Sie mehr über die Modern Data Platform erfahren möchten, Fragen oder Anmerkungen haben, zögern Sie bitte nicht, uns zu kontaktieren. Wir freuen uns darauf, von Ihnen zu hören und gemeinsam an der weiteren Verbesserung unserer Tools und Ressourcen zu arbeiten.

Verfasst von

Anita Śledź

Contact

Let’s discuss how we can support your journey.