Prüfpunkte
Disable and re-enable the Dataflow API
/ 10
Create a Cloud Storage Bucket
/ 10
Copy Files to Your Bucket
/ 10
Create the BigQuery Dataset (name: lake)
/ 20
Build a Data Ingestion Dataflow Pipeline
/ 10
Build a Data Transformation Dataflow Pipeline
/ 10
Build a Data Enrichment Dataflow Pipeline
/ 10
Build a Data lake to Mart Dataflow Pipeline
/ 20
ETL-Verarbeitung in Google Cloud mit Dataflow und BigQuery (Python)
- GSP290
- Übersicht
- Einrichtung und Anforderungen
- Aufgabe 1: Dataflow API neu aktivieren
- Aufgabe 2: Starter-Code herunterladen
- Aufgabe 3: Cloud Storage-Bucket erstellen
- Aufgabe 4: Dateien in Ihren Bucket kopieren
- Aufgabe 5: BigQuery-Dataset erstellen
- Aufgabe 6: Dataflow-Pipeline erstellen
- Aufgabe 7: Datenaufnahme mit einer Dataflow-Pipeline
- Aufgabe 8: Python-Code der Pipeline überprüfen
- Aufgabe 9: Apache Beam-Pipeline ausführen
- Aufgabe 10: Datentransformation
- Aufgabe 11: Dataflow-Transformationspipeline ausführen
- Aufgabe 12: Datenanreicherung
- Aufgabe 13: Python-Code der Pipeline zur Datenanreicherung überprüfen
- Aufgabe 14: Dataflow-Pipeline zur Datenanreicherung ausführen
- Aufgabe 15: Data Lake zu Mart und den Python-Code der Pipeline überprüfen
- Aufgabe 16: Durch Ausführung der Apache Beam-Pipeline die Daten verknüpfen und die Ergebnistabelle in BigQuery erstellen
- Testen Sie Ihr Wissen
- Das wars! Sie haben das Lab erfolgreich abgeschlossen.
GSP290
Übersicht
In Google Cloud können Sie Datenpipelines erstellen, die mithilfe von Python-Code Daten aus öffentlich verfügbaren Datasets aufnehmen und mithilfe dieser Google Cloud-Dienste nach BigQuery übertragen:
- Cloud Storage
- Dataflow
- BigQuery
In diesem Lab erstellen Sie mit diesen Diensten eine eigene Datenpipeline, inklusive eigenem Design und Implementierungsdetails, damit Ihr Prototyp die Anforderungen erfüllt. Öffnen Sie unbedingt die Python-Dateien und lesen Sie die Kommentare, wenn Sie dazu aufgefordert werden.
Aufgaben
Aufgaben in diesem Lab:
- Dataflow-Pipelines (Python) zur Datenaufnahme erstellen und ausführen
- Dataflow-Pipelines (Python) zur Datentransformation und -anreicherung erstellen und ausführen
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: Dataflow API neu aktivieren
Damit Sie Zugriff auf die erforderliche API haben, starten Sie die Verbindung zur Dataflow API neu.
-
Geben Sie in der Cloud Console oben in der Suchleiste „Dataflow API“ ein. Klicken Sie auf das Ergebnis für Dataflow API.
-
Klicken Sie auf Verwalten.
-
Klicken Sie auf API deaktivieren.
Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Deaktivieren.
- Klicken Sie auf Aktivieren.
Wenn die API wieder aktiviert ist, wird auf der Seite die Option zur Deaktivierung angezeigt.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 2: Starter-Code herunterladen
- Führen Sie den folgenden Befehl in Cloud Shell aus, um Dataflow-Python-Beispiele aus dem GCP-GitHub „Professional Services“ abzurufen:
- Legen Sie in Cloud Shell eine Variable fest, die Ihrer Projekt-ID entspricht:
Aufgabe 3: Cloud Storage-Bucket erstellen
- Erstellen Sie mit dem Befehl „make bucket“ in Cloud Shell einen neuen regionalen Bucket in der
-Region Ihres Projekts:
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 4: Dateien in Ihren Bucket kopieren
- Kopieren Sie in Cloud Shell mit dem Befehl
gsutil
Dateien in den gerade erstellten Cloud Storage-Bucket:
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 5: BigQuery-Dataset erstellen
- Erstellen Sie in Cloud Shell unter „BigQuery Dataset“ ein Dataset namens
lake
. In dieses Dataset werden all Ihre Tabellen in BigQuery geladen:
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 6: Dataflow-Pipeline erstellen
In diesem Abschnitt erstellen Sie einen Dataflow, für den nur Anfügungen zulässig sind und der Daten in die BigQuery-Tabelle aufnimmt. Sie können sich mit dem integrierten Code-Editor den Code in der Google Cloud Console anzeigen lassen und diesen bearbeiten.
Cloud Shell-Code-Editor öffnen
- Öffnen Sie den Quellcode und klicken Sie dafür auf das Symbol Editor öffnen in Cloud Shell:
- Wenn Sie dazu aufgefordert werden, klicken Sie auf In neuem Fenster öffnen. Damit wird der Code-Editor in einem neuen Fenster eingeblendet. Im Cloud Shell-Editor haben Sie die Möglichkeit, Dateien in der Cloud Shell-Umgebung zu bearbeiten. Vom Editor können Sie durch Klicken auf Terminal öffnen zu Cloud Shell zurückkehren.
Aufgabe 7: Datenaufnahme mit einer Dataflow-Pipeline
Sie erstellen nun eine Dataflow-Pipeline mit einer TextIO-Quelle und einem BigQuery-Ziel, um Dateien in BigQuery aufzunehmen. Dazu führen Sie die folgenden Schritte aus:
- Nehmen Sie die Dateien aus Cloud Storage auf.
- Filtern Sie die Kopfzeile in den Dateien heraus.
- Konvertieren Sie die gelesenen Zeilen in Wörterbuchobjekte.
- Geben Sie die Zeilen an BigQuery aus.
Aufgabe 8: Python-Code der Pipeline überprüfen
Rufen Sie im Code-Editor die Option dataflow-python-examples
> dataflow_python_examples
auf und öffnen Sie die Datei data_ingestion.py
. Lesen Sie die Kommentare, in denen die Funktion des Codes erklärt wird. Mit diesem Code wird in das Dataset lake eine Tabelle in BigQuery eingefügt.
Aufgabe 9: Apache Beam-Pipeline ausführen
- Gehen Sie für diesen Schritt zu Ihrer Cloud Shell-Sitzung zurück. Nun müssen Sie die erforderlichen Python-Bibliotheken einrichten.
Der Dataflow-Job in diesem Lab erfordert Python 3.8
. Damit Sie mit der richtigen Version arbeiten, werden die Dataflow-Prozesse in einem Python 3.8-Docker-Container ausgeführt.
- Führen Sie in Cloud Shell den folgenden Befehl aus, um einen Python-Container zu starten:
Mit diesem Befehl wird ein Docker-Container mit der neuesten stabilen Version von Python 3.8 abgerufen und eine Befehlsshell für die nächsten Befehle im Container ausgeführt. Das Flag -v
stellt den Quellcode als Volume
für den Container bereit. Dadurch können wir ihn im Cloud Shell-Editor bearbeiten und weiterhin darauf im ausgeführten Container zugreifen.
- Wenn das Abrufen des Containers abgeschlossen ist und die Ausführung in Cloud Shell beginnt, installieren Sie
apache-beam
in diesem ausgeführten Container mit dem folgenden Befehl:
- Als Nächstes ändern Sie im ausgeführten Container in Cloud Shell die Verzeichnisse in jene, mit denen Sie den Quellcode verknüpft haben:
Aufnahme-Dataflow-Pipeline in der Cloud ausführen
- Mit folgendem Befehl fahren Sie die erforderlichen Worker hoch und nach Abschluss wieder herunter:
- Gehen Sie zur Cloud Console zurück und klicken Sie im Navigationsmenü auf Dataflow, um den Status Ihres Jobs aufzurufen.
-
Klicken Sie auf den Namen des Jobs, um sich den Fortschritt anzeigen zu lassen. Sobald Erfolgreich als Jobstatus angezeigt wird, können Sie den nächsten Schritt ausführen. Diese Dataflow-Pipeline benötigt ca. fünf Minuten, um zu starten, die Aufgabe auszuführen und dann herunterzufahren.
-
Rufen Sie BigQuery (Navigationsmenü > BigQuery) auf, um zu überprüfen, ob Ihre Daten angezeigt werden.
- Klicken Sie auf Ihren Projektnamen, um die Tabelle usa_names unter dem Dataset
lake
anzuzeigen.
- Klicken Sie auf die Tabelle und gehen Sie zum Tab Vorschau, um sich Beispiele zu den Daten aus
usa_names
anzeigen zu lassen.
usa_names
nicht sehen, aktualisieren Sie die Seite oder rufen Sie die Tabellen mit der klassischen BigQuery-Benutzeroberfläche auf.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 10: Datentransformation
Sie erstellen nun eine Dataflow-Pipeline mit einer TextIO-Quelle und einem BigQuery-Ziel, um Dateien in BigQuery aufzunehmen. Dazu führen Sie die folgenden Schritte aus:
- Nehmen Sie die Dateien aus Cloud Storage auf.
- Konvertieren Sie die gelesenen Zeilen in Wörterbuchobjekte.
- Wandeln Sie die Daten, die das Jahr enthalten, in ein Format um, das BigQuery als Datum versteht.
- Geben Sie die Zeilen an BigQuery aus.
Python-Code der Transformationspipeline überprüfen
Öffnen Sie im Code-Editor die Datei data_transformation.py
. Lesen Sie die Kommentare, in denen die Funktion des Codes erklärt wird.
Aufgabe 11: Dataflow-Transformationspipeline ausführen
Sie führen die Dataflow-Pipeline in der Cloud aus. Damit fahren Sie die erforderlichen Worker hoch und nach Abschluss wieder herunter.
- Führen Sie dafür die folgenden Befehle aus:
-
Klicken Sie im Navigationsmenü auf Dataflow und dann auf den Namen dieses Jobs, um dessen Status aufzurufen. Diese Dataflow-Pipeline benötigt ca. fünf Minuten, um zu starten, die Aufgabe auszuführen und dann herunterzufahren.
-
Sobald der Jobstatus in Dataflow Erfolgreich lautet, gehen Sie zu BigQuery, um zu überprüfen, ob Ihre Daten dargestellt wurden.
-
Die Tabelle usa_names_transformed sollte unter dem Dataset
lake
angezeigt werden. -
Klicken Sie auf die Tabelle und gehen Sie zum Tab Vorschau, um Beispiele zu den Daten aus
usa_names_transformed
aufzurufen.
usa_names_transformed
nicht sehen, aktualisieren Sie die Seite oder rufen Sie die Tabellen mit der klassischen BigQuery-Benutzeroberfläche auf.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 12: Datenanreicherung
Sie erstellen nun eine Dataflow-Pipeline mit einer TextIO-Quelle und einem BigQuery-Ziel, um Dateien in BigQuery aufzunehmen. Dazu führen Sie die folgenden Schritte aus:
- Nehmen Sie die Dateien aus Cloud Storage auf.
- Filtern Sie die Kopfzeile in den Dateien heraus.
- Konvertieren Sie die gelesenen Zeilen in Wörterbuchobjekte.
- Geben Sie die Zeilen an BigQuery aus.
Aufgabe 13: Python-Code der Pipeline zur Datenanreicherung überprüfen
-
Öffnen Sie im Code-Editor die Datei
data_enrichment.py
. -
Lesen Sie die Kommentare, in denen die Funktion des Codes erklärt wird. Wenn Sie diesen Code ausführen, werden die Daten in BigQuery dargestellt.
Die Zeile 83 sieht aktuell in etwa so aus:
- Ändern Sie diese folgendermaßen:
- Wenn Sie diese Zeile bearbeitet haben, müssen Sie die aktualisierte Datei speichern. Klicken Sie dazu im Drop-down-Menü Datei des Editors auf Speichern.
Aufgabe 14: Dataflow-Pipeline zur Datenanreicherung ausführen
Hier führen Sie die Dataflow-Pipeline in der Cloud aus.
- Führen Sie in Cloud Shell den folgenden Befehl aus, um die erforderlichen Worker hochzufahren und nach Abschluss herunterzufahren:
-
Klicken Sie im Navigationsmenü auf Dataflow, um den Status Ihres Jobs anzuzeigen. Diese Dataflow-Pipeline benötigt ca. fünf Minuten, um zu starten, die Aufgabe auszuführen und dann herunterzufahren.
-
Sobald der Jobstatus in Dataflow Erfolgreich lautet, rufen Sie BigQuery auf, um zu überprüfen, ob Ihre Daten eingefügt wurden.
Die Tabelle usa_names_enriched sollte unter dem Dataset lake
angezeigt werden.
- Klicken Sie auf die Tabelle und gehen Sie zum Tab Vorschau, um Beispiele zu den Daten aus
usa_names_enriched
aufzurufen.
usa_names_enriched
nicht sehen, aktualisieren Sie die Seite oder rufen Sie die Tabellen mit der klassischen BigQuery-Benutzeroberfläche auf.
Ausgeführte Aufgabe zur Datenanreicherung testen
Klicken Sie auf Fortschritt prüfen.
Aufgabe 15: Data Lake zu Mart und den Python-Code der Pipeline überprüfen
Als Nächstes erstellen Sie eine Dataflow-Pipeline, mit der Daten aus zwei BigQuery-Datenquellen gelesen und die Datenquellen dann verknüpft werden. Dabei führen Sie insbesondere Folgendes aus:
- Nehmen Sie Dateien aus zwei BigQuery-Quellen auf.
- Verbinden Sie die beiden Datenquellen miteinander.
- Filtern Sie die Kopfzeile in den Dateien heraus.
- Konvertieren Sie die gelesenen Zeilen in Wörterbuchobjekte.
- Geben Sie die Zeilen an BigQuery aus.
Öffnen Sie im Code-Editor die Datei data_lake_to_mart.py
. Lesen Sie die Kommentare, in denen die Funktion des Codes erklärt wird. Mit diesem Code werden zwei Tabellen verknüpft und deren Daten in BigQuery eingefügt.
Aufgabe 16: Durch Ausführung der Apache Beam-Pipeline die Daten verknüpfen und die Ergebnistabelle in BigQuery erstellen
Führen Sie jetzt die Dataflow-Pipeline in der Cloud aus.
- Führen Sie in Cloud Shell den folgenden Codeblock aus, um die erforderlichen Worker hochzufahren und nach Abschluss herunterzufahren:
-
Gehen Sie zu Navigationsmenü > Dataflow und klicken Sie auf den Namen dieses neuen Jobs, um den Status aufzurufen. Diese Dataflow-Pipeline benötigt ca. fünf Minuten, um zu starten, die Aufgabe auszuführen und dann herunterzufahren.
-
Sobald der Jobstatus in Dataflow Erfolgreich lautet, rufen Sie BigQuery auf, um zu überprüfen, ob Ihre Daten dargestellt wurden.
Die Tabelle orders_denormalized_sideinput sollte unter dem Dataset lake
angezeigt werden.
- Klicken Sie auf die Tabelle und rufen Sie den Tab Vorschau auf, um Beispiele zu den Daten aus
orders_denormalized_sideinputlake
anzeigen zu lassen.
orders_denormalized_sideinput
nicht sehen, aktualisieren Sie die Seite oder rufen Sie die Tabellen mit der klassischen BigQuery-Benutzeroberfläche auf.
Ausgeführte JOIN-Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Testen Sie Ihr Wissen
Im Folgenden stellen wir Ihnen einige Multiple-Choice-Fragen, um Ihr bisher erworbenes Wissen zu testen und zu festigen. Beantworten Sie die Fragen so gut Sie können.
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben Python-Code mithilfe von Dataflow ausgeführt, um Daten in BigQuery aufzunehmen und die Daten zu transformieren.
Weitere Informationen
Wenn Sie sich noch gründlicher informieren möchten, sehen Sie sich die offiziellen Dokumentationen zu folgenden Themen an:
- Dataflow
- BigQuery
- Fortgeschrittene Konzepte im Programmierleitfaden für Apache Beam
- Sehen Sie sich diese Labs an, um Ihr Wissen zu vertiefen:
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 11. Februar 2024 aktualisiert
Lab zuletzt am 12. Oktober 2023 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.