Prüfpunkte
Create Cloud Composer environment.
/ 25
Create two Cloud Storage buckets.
/ 25
Create a dataset.
/ 25
Uploading the DAG and dependencies to Cloud Storage
/ 25
Cloud Composer: BigQuery-Tabellen an verschiedene Orte kopieren
- GSP283
- Übersicht
- Einrichtung und Anforderungen
- Aufgabe 1: Cloud Composer-Umgebung erstellen
- Aufgabe 2: Cloud Storage-Buckets erstellen
- Aufgabe 3: BigQuery-Ziel-Dataset erstellen
- Aufgabe 4: Kurze Einführung: Die wichtigsten Konzepte in Airflow
- Aufgabe 5: Workflow definieren
- Aufgabe 6: Umgebungsinformationen prüfen
- Aufgabe 7: Variable für die DAGs im Cloud Storage-Bucket erstellen
- Aufgabe 8: Airflow-Variablen festlegen
- Aufgabe 9: DAG und Abhängigkeiten in Cloud Storage hochladen
- Aufgabe 10: Airflow-Benutzeroberfläche untersuchen
- Aufgabe 11: Ergebnisse prüfen
- Cloud Composer-Umgebung löschen
- Das wars! Sie haben das Lab erfolgreich abgeschlossen.
- Weitere Informationen
GSP283
Übersicht
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:
- Eine Liste der zu kopierenden Tabellen aus einer Konfigurationsdatei lesen
- Die Liste der Tabellen aus einem BigQuery-Dataset in den USA nach Cloud Storage exportieren
- Die exportierten Tabellen aus dem Cloud Storage-Bucket in den USA in den Cloud Storage-Bucket in der EU kopieren
- Die Liste der Tabellen in das BigQuery-Ziel-Dataset in der EU importieren
Aufgaben
Aufgaben in diesem Lab:
- Cloud Composer-Umgebung erstellen
- Cloud Storage-Buckets erstellen
- BigQuery-Datasets erstellen
- Apache Airflow-Workflows in Cloud Composer erstellen und ausführen, um Daten zwischen Cloud Storage und BigQuery zu verschieben
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
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:
- Einen Standardbrowser (empfohlen wird Chrome)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Lab starten und bei der Google Cloud Console anmelden
-
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:
- Schaltfläche Google Cloud Console öffnen
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
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.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden. -
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}} 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.
{{{user_0.password | "Password"}}} Sie finden das Passwort auch im Bereich Details zum Lab.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen. -
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Cloud Shell aktivieren
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.
- Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren .
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.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
- Klicken Sie auf Autorisieren.
Ausgabe:
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
Ausgabe:
gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Aufgabe 1: Cloud Composer-Umgebung erstellen
-
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
als Airflow-Datenbankzone aus.
Lassen Sie alle anderen Standardeinstellungen unverändert.
- Klicken Sie auf Erstellen.
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.
Aufgabe 2: Cloud Storage-Buckets erstellen
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.
Bucket in den USA erstellen
- Rufen Sie Cloud Storage > Bucket auf und klicken Sie auf Erstellen.
- Geben Sie dem Bucket einen eindeutigen Namen, in dem die Projekt-ID enthalten ist (z. B.
-us). - Wählen Sie als Standorttyp die Option USA (mehrere Regionen in den USA) aus.
- Lassen Sie den anderen Wert unverändert und klicken Sie auf Erstellen.
- Klicken Sie auf das Kästchen für
Verhinderung des öffentlichen Zugriffs für diesen Bucket erzwingen
. Wenn Sie dazu aufgefordert werden, klicken Sie im Pop-upDer öffentliche Zugriff wird verhindert
auf Bestätigen.
Bucket in der EU erstellen
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.
Aufgabe 3: BigQuery-Ziel-Dataset erstellen
-
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.
- Verwenden Sie die Dataset-ID nyc_tlc_EU, wählen Sie als Standorttyp Mehrere Regionen und dann EU aus dem Drop-down-Menü aus.
- Klicken Sie auf DATASET ERSTELLEN.
Klicken Sie auf Fortschritt prüfen.
Aufgabe 4: Kurze Einführung: Die wichtigsten Konzepte in Airflow
- Während die Umgebung erstellt wird, können Sie die Zeit nutzen und sich über die Beispieldatei dieses Labs informieren.
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.
Wichtige Konzepte
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.
Aufgabe 5: Workflow definieren
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.
- In diesem Beispiel ist die Funktion
read_table_list()
so definiert, dass sie die Konfigurationsdatei liest und die Liste der zu kopierenden Tabellen erstellt:
- Der Name des DAG ist
bq_copy_us_to_eu_01
. Die Ausführung ist nicht geplant, sondern muss manuell ausgelöst werden.
- Zum Definieren des Cloud Storage-Plug-ins ist die Klasse
Cloud StoragePlugin(AirflowPlugin)
definiert. Damit werden Hook und Operator, die vom stabilen Airflow 1.10-Zweig heruntergeladen wurden, zugeordnet.
Aufgabe 6: Umgebungsinformationen prüfen
-
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 Umgebung erstellen
Virtuelle Python-Umgebungen werden verwendet, um die Paketinstallation vom System zu isolieren.
-
virtualenv
-Umgebung installieren:
- Virtuelle Umgebung erstellen:
- Virtuelle Umgebung aktivieren:
Aufgabe 7: Variable für die DAGs im Cloud Storage-Bucket erstellen
- Führen Sie in Cloud Shell den folgenden Befehl aus, um auf der Seite „Umgebungsdetails“ den Namen des Buckets mit den DAGs zu kopieren und eine Variable festzulegen, mit der in Cloud Shell darauf verwiesen wird:
-composer-advanced-YOURDAGSBUCKET-bucket
.Diese Variable nutzen Sie in diesem Lab mehrmals.
Aufgabe 8: Airflow-Variablen festlegen
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. - Mit
KEY
undVALUE
werden die Variable und ihr festzulegender Wert angegeben. Fügen Sie ein Leerzeichen, zwei Bindestriche und ein Leerzeichen (--
) zwischen dem linkengcloud
-Befehl mit zugehörigen Argumenten und den rechten Argumenten für den Airflow-Unterbefehl ein. Auch zwischen denKEY
- undVALUE
-Argumenten muss sich ein Leerzeichen befinden. Der Befehlgcloud 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:
Aufgabe 9: DAG und Abhängigkeiten in Cloud Storage hochladen
- Kopieren Sie die Beispieldateien der Python-Dokumentation von Google Cloud in Cloud Shell:
- Laden Sie eine Kopie der Drittanbieter-Hooks und -Operatoren in den Ordner „plugins“ des Cloud Storage-Bucket für DAGs in Composer hoch:
- Laden Sie anschließend den DAG und die Konfigurationsdatei in den Cloud Storage-Bucket für DAGs Ihrer Umgebung hoch:
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.
Aufgabe 10: Airflow-Benutzeroberfläche untersuchen
So greifen Sie mit der Cloud Console auf die Airflow-Weboberfläche zu:
- Kehren Sie zur Seite Umgebungen in Composer zurück.
- Klicken Sie in der Spalte Airflow-Webserver für die Umgebung auf den Link Airflow.
- Klicken Sie auf Ihre Lab-Anmeldedaten.
- Die Airflow-Weboberfläche wird in einem neuen Browserfenster geöffnet. Das Laden der Daten dauert einen Moment, aber Sie können inzwischen mit dem Lab fortfahren.
Variablen prüfen
Die zuvor erstellten Variablen sind dauerhaft in Ihrer Umgebung vorhanden.
- Wenn Sie die Variablen prüfen möchten, wählen Sie in der Airflow-Menüleiste Admin > Variablen aus.
DAG-Ausführung manuell auslösen
-
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 zur Bestätigung auf DAG auslösen.
Klicken Sie auf Fortschritt prüfen.
Weitere Informationen zu DAG-Ausführungen
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:
- Klicken Sie auf den Namen des DAG, um die zugehörige Detailseite aufzurufen. Sie enthält eine grafische Darstellung der Workflowaufgaben und ‑abhängigkeiten.
- Klicken Sie in der Symbolleiste auf Grafik und bewegen Sie den Mauszeiger über das Diagramm jeder Aufgabe, um ihren Status zu sehen. Der Rahmen um jede Aufgabe gibt auch deren Status an (grün = läuft; rot = fehlgeschlagen usw.).
So führen Sie den Workflow über die Diagrammansicht noch einmal aus:
- Klicken Sie in der Airflow-Benutzeroberfläche unter „Diagrammansicht“ auf die Grafik Start.
- Klicken Sie auf Löschen, um alle Aufgaben zurückzusetzen, und dann zur Bestätigung auf OK.
Aktualisieren Sie währenddessen Ihren Browser, um die aktuellen Daten zu sehen.
Aufgabe 11: Ergebnisse prüfen
Prüfen Sie den Status und die Ergebnisse des Workflows auf den folgenden Seiten der Cloud Console:
- Die exportierten Tabellen wurden vom US‑ in den EU-Bucket in Cloud Storage kopiert. Klicken Sie auf Cloud Storage, um die Avro-Zwischendateien im Quell-Bucket (USA) und Ziel-Bucket (EU) zu sehen.
- Die Liste der Tabellen wurde in das BigQuery-Ziel-Dataset importiert. Klicken Sie auf BigQuery, dann auf den Namen Ihres Projekts und das Dataset nyc_tlc_EU, um zu prüfen, ob sich die Tabellen im erstellten Dataset aufrufen lassen.
Cloud Composer-Umgebung löschen
-
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.
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben Tabellen programmatisch von den USA in die EU kopiert. Das Lab basiert auf diesem Blogpost von David Sabater Dinter.
Weitere Informationen
- Weitere Informationen zu Airflow finden Sie auf der Airflow-Website oder im GitHub-Projekt zu Airflow.
- Es gibt noch viele weitere Ressourcen zu Airflow, zum Beispiel dieses Forum.
- Registrieren Sie sich für ein JIRA-Konto bei Apache und öffnen Sie im JIRA-Projekt „Apache Airflow“ wieder Vorgänge, die für Sie relevant sind.
- Informationen zur Airflow-Weboberfläche finden Sie unter Auf die Apache Airflow-Weboberfläche zugreifen.
Google Cloud-Schulungen und -Zertifizierungen
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
© 2024 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.