
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
Angenommen, Sie haben Datasets, die sich an verschiedenen Orten auf der ganzen Welt befinden, und Ihre Daten sind in Google Cloud Storage-Buckets oder in BigQuery-Tabellen gespeichert. Wie können Sie diese Daten so organisieren, dass sie sich konsolidieren und analysieren lassen, um Ihnen geschäftsrelevante Informationen zu liefern?
Mit Cloud Composer können Sie über eine intuitive grafische Ansicht Workflows erstellen und Daten zwischen Regionen und Speichersystemen verschieben. Der Dienst bietet unter anderem Vorlagen für eine einfache und zuverlässige Datenübertragung zwischen BigQuery und Cloud Storage in beide Richtungen.
In diesem Lab lernen Sie, wie Sie in Cloud Composer einen Apache Airflow-Workflow erstellen, der die folgenden Aufgaben ausführt:
Aufgaben in diesem Lab:
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
Sie finden den Nutzernamen auch im Bereich Details zum Lab.
Klicken Sie auf Weiter.
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
Sie finden das Passwort auch im Bereich Details zum Lab.
Klicken Sie auf Weiter.
Klicken Sie sich durch die nachfolgenden Seiten:
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID,
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
Ausgabe:
Ausgabe:
gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Geben Sie in der Titelleiste der Google Cloud Console Composer in das Suchfeld ein und klicken Sie dann im Bereich „Produkte und Seiten“ auf Composer, um eine Cloud Composer-Umgebung einzurichten.
Klicken Sie dann auf Umgebung erstellen.
Wählen Sie im Drop-down-Menü Composer 3 aus.
Legen Sie für Ihre Umgebung folgende Parameter fest:
Name: composer-advanced-lab
Standort:
Image-Version: composer-3-airflow-n.n.n-build.n (wählen Sie die neueste Version des jeweiligen Image aus)
Wählen Sie unter Umgebungsressourcen die Option Klein aus.
Klicken Sie auf das Drop-down-Menü für Erweiterte Konfiguration anzeigen und wählen Sie
Lassen Sie alle anderen Standardeinstellungen unverändert.
Die Umgebung ist erstellt, wenn auf der Seite „Umgebungen“ in der Cloud Console links neben dem Umgebungsnamen ein grünes Häkchen angezeigt wird.
Cloud Storage-Buckets und BigQuery-Ziel-Dataset erstellen
.Klicken Sie auf Fortschritt prüfen.
In dieser Aufgabe erstellen Sie zwei multiregionale Cloud Storage-Buckets. Diese werden verwendet, um die exportierten Tabellen zwischen verschiedenen Standorten zu kopieren, z. B. von den USA in die EU.
Verhinderung des öffentlichen Zugriffs für diesen Bucket erzwingen
. Wenn Sie dazu aufgefordert werden, klicken Sie im Pop-up Der öffentliche Zugriff wird verhindert
auf Bestätigen.Wiederholen Sie die Schritte, um einen weiteren Bucket in der Region EU
zu erstellen. Fügen Sie dem eindeutigen Name des Buckets den Standort als Suffix hinzu (z. B.
Klicken Sie auf Fortschritt prüfen.
Erstellen Sie in der neuen Weboberfläche von BigQuery das BigQuery-Ziel-Dataset in der EU.
Rufen Sie im Navigationsmenü die Option Big Query auf.
Zuerst wird das Fenster Willkommen bei BigQuery in der Cloud Console geöffnet, das einen Link zur Kurzanleitung und Informationen zu Aktualisierungen der Benutzeroberfläche enthält.
Klicken Sie auf Fertig.
Klicken Sie dann auf das Dreipunkt-Menü neben der Qwiklabs-Projekt-ID und wählen Sie Dataset erstellen aus.
Klicken Sie auf Fortschritt prüfen.
Airflow ist eine Plattform zum programmgesteuerten Erstellen, Planen und Beobachten von Workflows.
Damit lassen sich Workflows als gerichtete azyklische Graphen (Directed Acyclic Graphs, DAGs) von Aufgaben erstellen. Der Airflow-Planer führt Ihre Aufgaben in einem Array von Workern aus, wobei alle geltenden Abhängigkeiten eingehalten werden.
DAG: Ein „Directed Acyclic Graph“ (gerichteter azyklischer Graph) ist eine Sammlung von Aufgaben, die entsprechend ihren Beziehungen und Abhängigkeiten angeordnet sind.
Operator: Die Beschreibung einer einzelnen Aufgabe; normalerweise atomar. Mit dem BashOperator wird beispielsweise ein Bash-Befehl ausgeführt.
Task (Aufgabe): Parametrisierte Instanz eines Operators; ein Knoten im DAG.
Taskinstanz: Bestimmte Ausführung einer Aufgabe; charakterisiert durch einen DAG, einen Task und einen Zeitpunkt. Außerdem ist ein indikativer Status zugeordnet: running (wird ausgeführt), success (Erfolg), failed (fehlgeschlagen), skipped (übersprungen) usw.
Weitere Informationen über Airflow-Konzepte finden Sie in der entsprechenden Dokumentation.
Cloud Composer-Workflows bestehen aus gerichteten azyklischen Graphen (Directed Acyclic Graphs, DAGs). Der Code in bq_copy_across_locations.py ist der Workflowcode, der auch als DAG bezeichnet wird. Öffnen Sie die Datei, um sich die Codestruktur genauer anzusehen. Als Nächstes betrachten wir die wichtigsten Komponenten der Datei.
Zur Orchestrierung der Workflowaufgaben werden die folgenden Operatoren für den DAG importiert:
DummyOperator
: Erstellt „Start“- und „End“-Beispielaufgaben für eine bessere visuelle Darstellung des DAG.BigQueryToCloudStorageOperator
: Exportiert BigQuery-Tabellen im Avro-Format in Cloud Storage-Buckets.GoogleCloudStorageToGoogleCloudStorageOperator
: Kopiert Dateien zwischen Cloud Storage-Buckets.GoogleCloudStorageToBigQueryOperator
: Importiert Tabellen aus Avro-Dateien in einen Cloud Storage-Bucket.read_table_list()
so definiert, dass sie die Konfigurationsdatei liest und die Liste der zu kopierenden Tabellen erstellt:bq_copy_us_to_eu_01
. Die Ausführung ist nicht geplant, sondern muss manuell ausgelöst werden.Cloud StoragePlugin(AirflowPlugin)
definiert. Damit werden Hook und Operator, die vom stabilen Airflow 1.10-Zweig heruntergeladen wurden, zugeordnet.Gehen Sie zurück zu Composer, um den Status der Umgebung zu prüfen.
Sobald die Umgebung erstellt wurde, klicken Sie auf den Namen, um Details aufzurufen.
Die Seite Umgebungsdetails enthält verschiedene Informationen, wie die URL der Airflow-Benutzeroberfläche, die Cluster-ID der Google Kubernetes Engine und den Namen des mit dem DAG-Ordner verbundenen Cloud Storage-Bucket.
Die nächsten Schritte werden in Cloud Shell ausgeführt.
Virtuelle Python-Umgebungen werden verwendet, um die Paketinstallation vom System zu isolieren.
virtualenv
-Umgebung installieren: -composer-advanced-YOURDAGSBUCKET-bucket
.Diese Variable nutzen Sie in diesem Lab mehrmals.
Airflow-Variablen sind ein Airflow-spezifisches Konzept und unterscheiden sich von Umgebungsvariablen. In diesem Schritt legen Sie die folgenden drei Airflow-Variablen fest, die vom bereitzustellenden DAG verwendet werden: table_list_file_path
, gcs_source_bucket
und gcs_dest_bucket
.
Schlüssel | Wert | Details |
---|---|---|
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv | CSV-Datei mit Quell- und Zieltabellen, einschließlich Dataset |
gcs_source_bucket |
{UNIQUE ID}-us | Cloud Storage-Bucket zum Exportieren von „tabledest_bbucks“ aus BigQuery (Quelle) |
gcs_dest_bucket |
{UNIQUE ID}-eu | Cloud Storage-Bucket zum Importieren von BigQuery-Tabellen am Ziel |
Mit dem folgenden gcloud composer
-Befehl werden die Unterbefehlvariablen der Airflow-Befehlszeile ausgeführt. Dabei werden die Argumente an das gcloud
-Befehlszeilentool übergeben.
Zum Festlegen der drei Variablen wird der composer-Befehl
jeweils einmal für jede Zeile der Tabelle oben ausgeführt. So sieht der Befehl aus:
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not callable)
. Das ist ein bekanntes Problem bei der Verwendung des Befehls gcloud composer environments run
mit der Version 410.0.0 von gcloud. Ihre Variablen werden trotz der Fehlermeldung entsprechend festgelegt.
ENVIRONMENT_NAME
ist der Name der Umgebung.LOCATION
ist die Compute Engine-Region, in der sich die Umgebung befindet. Im „gcloud composer“-Befehl muss das Flag --location
enthalten sein oder Sie legen den Standardort vor der Ausführung des Befehls fest.KEY
und VALUE
werden die Variable und ihr festzulegender Wert angegeben. Fügen Sie ein Leerzeichen, zwei Bindestriche und ein Leerzeichen ( --
) zwischen dem linken gcloud
-Befehl mit zugehörigen Argumenten und den rechten Argumenten für den Airflow-Unterbefehl ein. Auch zwischen den KEY
- und VALUE
-Argumenten muss sich ein Leerzeichen befinden. Der Befehl gcloud composer environments run
wird mit den Unterbefehlvariablen ausgeführt.Führen Sie diese Befehle in Cloud Shell aus. Ersetzen Sie dabei gcs_source_bucket
und gcs_dest_bucket
durch die Namen der Buckets, die Sie unter Aufgabe 2 erstellt haben.
Um den Wert einer Variablen abzurufen, führen Sie den Unterbefehl variables in der Airflow-Befehlszeile mit dem Argument get
aus oder verwenden Sie die Airflow-Benutzeroberfläche.
Führen Sie z. B. Folgendes aus:
Cloud Composer registriert den DAG automatisch in Ihrer Airflow-Umgebung. DAG-Änderungen werden innerhalb von 3 bis 5 Minuten wirksam. Sie können den Aufgabenstatus auf der Airflow-Weboberfläche einsehen und sich davon überzeugen, dass gemäß Einstellungen für den DAG kein Zeitplan aktiviert ist.
So greifen Sie mit der Cloud Console auf die Airflow-Weboberfläche zu:
Die zuvor erstellten Variablen sind dauerhaft in Ihrer Umgebung vorhanden.
Klicken Sie auf den Tab DAGs und warten Sie, bis die Links geladen wurden.
Um den DAG manuell auszulösen, klicken Sie auf die Wiedergabeschaltfläche für composer_sample_bq_copy_across_locations
:
Klicken Sie auf Fortschritt prüfen.
Wenn Sie Ihre DAG-Datei in den DAGs-Ordner in Cloud Storage hochladen, parst Cloud Composer die Datei. Werden keine Fehler gefunden, ist der Name des Workflows in der DAG-Liste zu sehen und der Workflow wird in die Warteschlange gestellt, um sofort ausgeführt zu werden, sofern die Zeitplanbedingungen erfüllt sind (in diesem Fall „Keine“ gemäß Einstellungen).
Der Status Ausführungen wird grün, nachdem Sie auf die Wiedergabeschaltfläche geklickt haben:
So führen Sie den Workflow über die Diagrammansicht noch einmal aus:
Aktualisieren Sie währenddessen Ihren Browser, um die aktuellen Daten zu sehen.
Prüfen Sie den Status und die Ergebnisse des Workflows auf den folgenden Seiten der Cloud Console:
Kehren Sie in Composer zur Seite Umgebungen zurück.
Klicken Sie das Kästchen neben Ihrer Composer-Umgebung an.
Klicken Sie auf LÖSCHEN.
Bestätigen Sie das Pop-up, indem Sie noch einmal auf LÖSCHEN klicken.
Sie haben Tabellen programmatisch von den USA in die EU kopiert. Das Lab basiert auf diesem Blogpost von David Sabater Dinter.
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 21. Juni 2024 aktualisiert
Lab zuletzt am 21. Juni 2024 getestet
© 2025 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.
Diese Inhalte sind derzeit nicht verfügbar
Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail
Sehr gut!
Bei Verfügbarkeit kontaktieren wir Sie per E-Mail
One lab at a time
Confirm to end all existing labs and start this one