Informationen zu diesem Codelab
1. Einführung
Stellen Sie sich vor, Sie könnten Ihre Daten schneller und effizienter für die Analyse vorbereiten, ohne Programmierexperte zu sein. Mit der BigQuery-Datenvorbereitung ist das möglich. Diese leistungsstarke Funktion vereinfacht die Datenaufnahme, -transformation und ‑bereinigung und ermöglicht allen Datenexperten in Ihrem Unternehmen die Datenvorbereitung.
Möchten Sie das Potenzial Ihrer Produktdaten erschließen?
Voraussetzungen
- Grundlegende Kenntnisse der Google Cloud Console
- Grundkenntnisse in SQL
Aufgaben in diesem Lab
- Anhand eines realistischen Beispiels aus der Mode- und Beautybranche wird gezeigt, wie Sie mit der Datenvorbereitung in BigQuery Rohdaten bereinigen und in umsetzbare Business Intelligence-Daten umwandeln können.
- Datenvorbereitung für bereinigte Daten ausführen und planen
Voraussetzungen
- Ein Google Cloud-Konto und ein Google Cloud-Projekt
- Einen Webbrowser wie Chrome
2. Grundlegende Einrichtung und Anforderungen
Einrichtung der Umgebung im eigenen Tempo
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie ein Konto erstellen.
- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es ist ein Zeichenstring, der von Google APIs nicht verwendet wird. Sie können ihn jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und kann nach der Festlegung nicht mehr geändert werden. In der Cloud Console wird automatisch ein eindeutiger String generiert. In der Regel spielt es keine Rolle, wie er lautet. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (normalerweise als
PROJECT_ID
gekennzeichnet). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige generieren. Alternativ können Sie Ihr eigenes Konto ausprobieren und prüfen, ob es verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs verwenden zu können. Die Durchführung dieses Codelabs ist kostenlos oder kostet nur sehr wenig. Wenn Sie die Ressourcen deaktivieren möchten, um weitere Kosten nach Abschluss dieser Anleitung zu vermeiden, können Sie die von Ihnen erstellten Ressourcen oder das Projekt löschen. Neuen Google Cloud-Nutzern steht das Programm Kostenloser Testzeitraum mit 300$Guthaben zur Verfügung.
3. Hinweis
API aktivieren
Damit Sie Gemini in BigQuery verwenden können, müssen Sie die Gemini for Google Cloud API aktivieren. Dieser Schritt wird in der Regel von einem Dienstadministrator oder Projektinhaber mit der IAM-Berechtigung serviceusage.services.enable
ausgeführt.
- Rufen Sie im Google Cloud Marketplace die Seite Gemini for Google Cloud auf, um die Gemini for Google Cloud API zu aktivieren. Zu Gemini für Google Cloud
- Klicken Sie auf die Projektauswahl Projekt auswählen.
- Klicken Sie auf Aktivieren. Die Seite wird aktualisiert und zeigt den Status Aktiviert an. Gemini in BigQuery ist jetzt im ausgewählten Google Cloud-Projekt für alle Nutzer verfügbar, die die erforderlichen IAM-Berechtigungen haben.
Rollen und Berechtigungen für die Entwicklung von Datenvorbereitungen einrichten
- Wählen Sie unter „IAM und Verwaltung“ die Option „IAM“ aus.
- Wählen Sie den Nutzer aus und klicken Sie auf das Stiftsymbol, um „Principal bearbeiten“ auszuwählen.
Für die Verwendung der BigQuery-Datenvorbereitung benötigen Sie die folgenden Rollen und Berechtigungen:
- BigQuery-Datenbearbeiter (roles/bigquery.dataEditor)
- Service Usage-Nutzer (roles/serviceusage.serviceUsageConsumer)
4. Eintrag „bq data preparation demo“ in BigQuery Analytics Hub suchen und abonnieren
In dieser Anleitung verwenden wir das Dataset bq data preparation demo
. Es ist ein verknüpftes Dataset in BigQuery Analytics Hub, aus dem wir Daten lesen.
Bei der Datenvorbereitung werden die Daten nie wieder in die Quelle zurückgeschrieben. Sie müssen eine Zieltabelle definieren, in die geschrieben werden soll. Die Tabelle, mit der wir in dieser Übung arbeiten, enthält nur 1.000 Zeilen, um die Kosten niedrig zu halten. Die Datenvorbereitung wird jedoch in BigQuery ausgeführt und skaliert entsprechend.
So finden und abonnieren Sie den verknüpften Datensatz:
- Analytics Hub aufrufen: Rufen Sie in der Google Cloud Console BigQuery auf.
- Wählen Sie im BigQuery-Navigationsmenü unter „Verwaltung“ die Option „Analytics Hub“ aus.
- Nach dem Eintrag suchen: Klicken Sie in der Analytics Hub-Benutzeroberfläche auf Einträge suchen.
- Geben Sie
bq data preparation demo
in die Suchleiste ein und drücken Sie die Eingabetaste.
- Eintrag abonnieren: Wählen Sie in den Suchergebnissen den Eintrag
bq data preparation demo
aus. - Klicken Sie auf der Seite mit den Details zum Eintrag auf die Schaltfläche Abonnieren.
- Lesen Sie alle Bestätigungsdialogfelder und aktualisieren Sie das Projekt/den Datensatz bei Bedarf. Die Standardeinstellungen sollten korrekt sein.
- Auf das Dataset in BigQuery zugreifen: Nachdem Sie das Abo abgeschlossen haben, werden die Datasets im Eintrag mit Ihrem BigQuery-Projekt verknüpft.
Kehren Sie zu BigQuery Studio zurück.
5. Daten untersuchen und Datenvorbereitung starten
- Dataset und Tabelle suchen: Wählen Sie im Explorer-Fenster Ihr Projekt aus und suchen Sie dann nach dem Dataset, das im
bq data preparation demo
-Eintrag enthalten war. Wählen Sie die Tabellestg_product
aus. - In der Datenvorbereitung öffnen: Klicken Sie auf das Dreipunkt-Menü neben dem Tabellennamen und wählen Sie
Open in Data Preparation
aus.
Daraufhin wird die Tabelle in der Datenvorbereitungsoberfläche geöffnet und Sie können mit der Transformation Ihrer Daten beginnen.
Wie Sie in der Datenvorschau unten sehen, gibt es einige Datenherausforderungen, die wir angehen werden. Dazu gehören:
- Die Preisspalte enthält sowohl den Betrag als auch die Währung, was die Analyse erschwert.
- In der Produktspalte sind der Produktname und die Kategorie enthalten, die durch einen senkrechten Strich | getrennt sind.
Gemini analysiert Ihre Daten sofort und schlägt mehrere Transformationen vor. In diesem Beispiel sehen wir eine Reihe von Empfehlungen. In den nächsten Schritten wenden wir die erforderlichen an.
6. Umgang mit der Preisspalte
Sehen wir uns die Spalte Preis an. Wie wir bereits gesehen haben, enthält es sowohl die Währung als auch den Betrag. Unser Ziel ist es, diese in zwei separate Spalten aufzuteilen:Währung und Betrag.
Gemini hat mehrere Empfehlungen für die Spalte „Preis“ identifiziert.
- Suchen Sie nach einer Empfehlung, die in etwa so lautet:
Beschreibung: „Mit diesem Ausdruck wird das vorangestellte ‚EUR‘ aus dem angegebenen Feld entfernt.“
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Wählen Sie „Vorschau“ aus.
- Wählen Sie „Übernehmen“ aus.
Als Nächstes konvertieren wir den Datentyp der Spalte „Preis“ von STRING in NUMERIC.
- Suchen Sie nach einer Empfehlung, die in etwa so lautet:
Beschreibung: „Konvertiert die Spalte ‚Preis‘ vom Typ String in float64“
SAFE_CAST(Price AS float64)
- Wählen Sie „Übernehmen“ aus.
In der Schrittliste sollten jetzt drei angewendete Schritte angezeigt werden.
7. Umgang mit der Produktspalte
Die Produktspalte enthält sowohl den Produktnamen als auch die Kategorie, getrennt durch einen Bindestrich (|).
Wir könnten wieder natürliche Sprache verwenden, aber sehen wir uns stattdessen eine weitere leistungsstarke Funktion von Gemini an.
Produktnamen bereinigen
- Wählen Sie den Kategorieteil eines Produkteintrags einschließlich des Zeichens
|
aus und löschen Sie ihn.
Gemini erkennt dieses Muster intelligent und schlägt eine Transformation vor, die auf die gesamte Spalte angewendet werden soll.
- Wählen Sie „Bearbeiten“ aus.
Die Empfehlung von Gemini ist genau richtig: Es wird alles nach dem Zeichen „|“ entfernt, wodurch der Produktname effektiv isoliert wird.
Dieses Mal möchten wir unsere ursprünglichen Daten jedoch nicht überschreiben.
- Wählen Sie im Drop-down-Menü „Zielspalte“ die Option „Neue Spalte erstellen“ aus.
- Legen Sie als Name ProductName fest.
- Sehen Sie sich die Änderungen in der Vorschau an, um sicherzugehen, dass alles in Ordnung ist.
- Wenden Sie die Transformation an.
Produktkategorie extrahieren
Wir geben Gemini in natürlicher Sprache die Anweisung, das Wort nach dem Bindestrich (|) in der Spalte „Produkt“ zu extrahieren. Dieser extrahierte Wert wird in der vorhandenen Spalte „Produkt“ überschrieben.
- Klicken Sie auf
Add Step
, um einen neuen Transformationsschritt hinzuzufügen.
- Wählen Sie im Drop-down-Menü
Transformation
aus. - Geben Sie in das Feld für Natural Language Prompts „das Wort nach dem Pipe (|) in der Spalte ‚Produkt‘ extrahieren“ ein und drücken Sie die Eingabetaste, um die SQL-Abfrage zu generieren.
- Lassen Sie die Zielspalte bei „Produkt“
- Klicken Sie auf Anwenden.
Die Transformation sollte die folgenden Ergebnisse liefern.
8. Zusammenführen, um die Daten zu ergänzen
Oft möchten Sie Ihre Daten mit Informationen aus anderen Quellen anreichern. In unserem Beispiel verknüpfen wir unsere Produktdaten mit erweiterten Produktattributen (stg_extended_product
) aus einer Drittanbietertabelle. Diese Tabelle enthält Details wie Marke und Einführungsdatum.
- Klicken Sie auf
Add Step
. - „
Join
“ auswählen - Rufen Sie die Tabelle
stg_extended_product
auf.
Gemini in BigQuery hat den Join-Schlüssel „productid“ automatisch für uns ausgewählt und die linke und rechte Seite qualifiziert, da der Schlüsselname identisch ist.
Hinweis: Das Beschreibungsfeld muss „Join by productid“ enthalten. Wenn er zusätzliche Join-Schlüssel enthält, überschreiben Sie das Beschreibungsfeld mit „Join by productid“ und wählen Sie im Beschreibungsfeld die Schaltfläche „Generate“ (Generieren) aus, um den Join-Ausdruck mit der folgenden Bedingung neu zu generieren: L.
productid
= R.
productid
.
- Optional: Wählen Sie „Vorschau“ aus, um eine Vorschau der Ergebnisse zu sehen.
- Klicken Sie auf
Apply
.
Erweiterte Attribute bereinigen
Die Zusammenführung war zwar erfolgreich, die Daten der erweiterten Attribute müssen jedoch noch bereinigt werden. Die Spalte LaunchDate
enthält inkonsistente Datumsformate und die Spalte Brand
einige fehlende Werte.
Beginnen wir mit der Spalte LaunchDate
.
Sehen Sie sich die Empfehlungen von Gemini an, bevor Sie Transformationen erstellen.
- Klicken Sie auf den Spaltennamen
LaunchDate
. Es sollten Empfehlungen angezeigt werden, die denen im Bild unten ähneln.
- Wenn Sie eine Empfehlung mit dem folgenden SQL-Code sehen, übernehmen Sie sie und überspringen Sie die nächsten Schritte.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Wenn keine Empfehlung angezeigt wird, die dem SQL-Code oben entspricht, klicken Sie auf
Add Step
. - Wählen Sie
Transformation
aus. - Geben Sie im SQL-Feld Folgendes ein:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Legen Sie
Target Columns
aufLaunchDate
fest. - Klicken Sie auf
Apply
.
Die Spalte „LaunchDate“ hat jetzt ein einheitliches Datumsformat.
9. Zieltabelle hinzufügen
Unser Datensatz ist jetzt bereinigt und kann in eine Dimensionstabelle in unserem Data Warehouse geladen werden.
- Klicken Sie auf
ADD STEP
. - Wählen Sie
Destination
aus. - Geben Sie die erforderlichen Parameter ein: Datensatz:
bq_data_preparation_demo
Tabelle:DimProduct
- Klicken Sie auf
Save
.
Wir haben jetzt mit den Tabs „Daten“ und „Schema“ gearbeitet. Darüber hinaus bietet BigQuery Data Preparation eine „Diagramm“-Ansicht, in der die Abfolge der Transformationsschritte in Ihrer Pipeline visuell dargestellt wird.
10. Bonus A: Umgang mit der Spalte „Hersteller“ und Erstellen einer Fehlertabelle
Außerdem haben wir leere Werte in der Spalte Manufacturer
gefunden. Für diese Datensätze möchten wir eine Datenqualitätsprüfung implementieren und sie zur weiteren Überprüfung in eine Fehlertabelle verschieben.
Fehlertabelle erstellen
- Klicke neben dem Titel
stg_product data preparation
auf die SchaltflächeMore
. - Wählen Sie unter
Setting
die OptionError Table
aus. - Setzen Sie ein Häkchen in das Kästchen
Enable error table
und konfigurieren Sie die Einstellungen so:
- Dataset: Wählen Sie
bq_data_preparation_demo
aus. - Tabelle: Geben Sie
err_dataprep
ein. - Wählen Sie unter
Define duration for keeping errors
die Option30 days (default)
aus.
- Klicken Sie auf
Save
.
Validierung für die Spalte „Hersteller“ einrichten
- Wählen Sie die Spalte „Hersteller“ aus.
- Gemini hat wahrscheinlich eine relevante Transformation erkannt. Suchen Sie die Empfehlung, bei der nur Zeilen beibehalten werden, bei denen das Feld „Hersteller“ nicht leer ist. Die SQL-Anfrage sieht in etwa so aus:
Manufacturer IS NOT NULL
2.Klicken Sie bei dieser Empfehlung auf die Schaltfläche „Bearbeiten“, um sie zu überprüfen.
- Aktivieren Sie die Option Zeilen mit fehlgeschlagener Validierung werden an die Fehlertabelle gesendet, falls dies noch nicht geschehen ist.
- Klicken Sie auf
Apply
.
Sie können die angewendeten Transformationen jederzeit überprüfen, ändern oder löschen, indem Sie auf die Schaltfläche „Angewandte Schritte“ klicken.
Redundante Spalte „ProductID_1“ bereinigen
Die Spalte „ProductID_1“, die die ProductID aus unserer zusammengeführten Tabelle dupliziert, kann jetzt gelöscht werden.
- Rufen Sie den Tab
Schema
auf. - Klicken Sie auf die drei Punkte neben der Spalte
ProductID_1
. - Klicken Sie auf
Drop
.
Wir sind jetzt bereit, den Job zur Datenvorbereitung auszuführen und unsere gesamte Pipeline zu validieren. Sobald wir mit den Ergebnissen zufrieden sind, können wir den Job so planen, dass er automatisch ausgeführt wird.
- Bevor Sie die Datenvorbereitungsdaten verlassen, speichern Sie Ihre Vorbereitungen. Neben dem Titel von
stg_product data preparation
sollte die SchaltflächeSave
angezeigt werden. Klicken Sie auf die Schaltfläche, um die Änderungen zu speichern.
11. Umgebung bereinigen
- Löschen Sie die
stg_product data preparation
: - Dataset
bq data preparation demo
löschen
12. Glückwunsch
Herzlichen Glückwunsch zum Abschluss des Codelabs.
Behandelte Themen
- Datenvorbereitung einrichten
- Tabellen öffnen und die Datenvorbereitung aufrufen
- Spalten mit numerischen Daten und Einheitenbeschreibern aufteilen
- Datumsformate standardisieren
- Datenvorbereitungen ausführen