Daten mit KI-Agents in BigQuery-Codelab vorbereiten

1. Einführung

Stellen Sie sich vor, Sie könnten Ihre Daten schneller und effizienter für die Analyse vorbereiten, ohne ein Programmierexperte sein zu müssen. Mit BigQuery Data Preparation ist das möglich. Diese leistungsstarke Funktion vereinfacht die Datenaufnahme, ‑transformation und ‑bereinigung und ermöglicht es allen Datenexperten in Ihrer Organisation, Daten vorzubereiten.

Möchten Sie die Geheimnisse Ihrer Produktdaten lüften?

Voraussetzungen

  • Grundlegende Kenntnisse der Google Cloud Console
  • Grundkenntnisse in SQL

Lerninhalte

  • Wie Sie mit der BigQuery-Datenaufbereitung Ihre Rohdaten bereinigen und in umsetzbare Business Intelligence umwandeln können – mit einem realistischen Beispiel aus der Mode- und Kosmetikbranche.
  • Datenvorbereitung für bereinigte Daten ausführen und planen

Voraussetzungen

  • Ein Google Cloud-Konto und ein Google Cloud-Projekt
  • Ein Webbrowser wie Chrome

2. Grundlegende Einrichtung und Anforderungen

Umgebung zum selbstbestimmten Lernen einrichten

  1. Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können sie jederzeit aktualisieren.
  • Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich (kann nach dem Festlegen nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser String aussieht. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (in der Regel als PROJECT_ID angegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie es mit einem eigenen Namen versuchen und sehen, ob er 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.
  1. Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am Programm Kostenloser Testzeitraum mit einem Guthaben von 300$ teilnehmen.

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.

  1. Wenn Sie die Gemini for Google Cloud API aktivieren möchten, rufen Sie im Google Cloud Marketplace die Seite Gemini for Google Cloud auf. Zu Gemini für Google Cloud
  2. Wählen Sie in der Projektauswahl ein Projekt aus.
  3. 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 mit den erforderlichen IAM-Berechtigungen verfügbar.

Rollen und Berechtigungen zum Entwickeln von Datenaufbereitungen einrichten

  1. Wählen Sie unter „IAM und Verwaltung“ die Option „IAM“ aus.

4477412d79f29e0b.png

  1. Wählen Sie Ihren Nutzer aus und klicken Sie auf das Stiftsymbol, um den Hauptnutzer zu bearbeiten.

5eb558e04ad12362.png

Für die Verwendung der BigQuery-Datenvorbereitung benötigen Sie die folgenden Rollen und Berechtigungen:

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 handelt sich um ein verknüpftes Dataset in BigQuery Analytics Hub, aus dem wir Daten lesen.

Bei der Datenvorbereitung werden keine Daten in die Quelle zurückgeschrieben. Sie werden aufgefordert, eine Zieltabelle zu definieren, in die geschrieben werden soll. Die Tabelle, mit der wir in dieser Übung arbeiten, hat nur 1.000 Zeilen, um die Kosten gering zu halten. Die Datenaufbereitung wird jedoch in BigQuery ausgeführt und skaliert entsprechend.

So finden Sie das verknüpfte Dataset und abonnieren es:

  1. Analytics Hub aufrufen: Rufen Sie in der Google Cloud Console BigQuery auf.
  2. Wählen Sie im BigQuery-Navigationsmenü unter „Governance“ die Option „Analytics Hub“ aus.

6ddfac4dd863ca7b.png

  1. Eintrag suchen: Klicken Sie in der Analytics Hub-Benutzeroberfläche auf Einträge suchen.
  2. Geben Sie bq data preparation demo in die Suchleiste ein und drücken Sie die Eingabetaste.

7e0cb82b80174cdc.png

  1. Abonnieren Sie das Unternehmensprofil: Wählen Sie das bq data preparation demo-Unternehmensprofil in den Suchergebnissen aus.
  2. Klicken Sie auf der Seite mit den Angebotsdetails auf die Schaltfläche Abonnieren.
  3. Prüfen Sie alle Bestätigungsdialogfelder und aktualisieren Sie das Projekt bzw. den Datensatz bei Bedarf. Die Standardeinstellungen sollten korrekt sein.

2ef0ac1e3557f2f9.png

  1. 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

  1. Dataset und Tabelle suchen: Wählen Sie im Bereich „Explorer“ Ihr Projekt aus und suchen Sie dann nach dem Dataset, das in der Liste bq data preparation demo enthalten war. Wählen Sie die Tabelle stg_product aus.
  2. In Data Preparation öffnen: Klicken Sie auf das Dreipunkt-Menü neben dem Tabellennamen und wählen Sie Open in Data Preparation aus.

Die Tabelle wird in der Benutzeroberfläche für die Datenvorbereitung geöffnet. Sie können nun mit der Transformation Ihrer Daten beginnen.

76ace3d4b5cfc2d0.png

Wie Sie in der Datenvorschau unten sehen können, gibt es einige Datenherausforderungen, die wir angehen müssen. Dazu gehören:

  • Die Spalte „Preis“ enthält sowohl den Betrag als auch die Währung, was die Analyse erschwert.
  • In der Spalte „Produkt“ werden Produktname und ‑kategorie kombiniert (durch einen senkrechten Strich | getrennt).

f4d93aa59a56447a.png

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 benötigten an.

fd4d14e4fa3c31c1.png

6. Umgang mit der Spalte „Preis“

Sehen wir uns die Spalte Preis an. Wie wir gesehen haben, enthält er 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“ ermittelt.

  1. Suchen Sie nach einer Empfehlung, die in etwa so lautet:

Beschreibung: „Mit diesem Ausdruck wird das führende ‚USD ‘ aus dem angegebenen Feld entfernt.“

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. „Vorschau“ auswählen

c9327cfbd32247d6.png

  1. „Übernehmen“ auswählen

Als Nächstes konvertieren wir den Datentyp der Spalte „Price“ von STRING in NUMERIC.

  1. 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)
  1. Klicken Sie auf „Übernehmen“.

In der Schrittliste sollten jetzt drei angewendete Schritte angezeigt werden.

d3359af47dce0c15.png

7. Produktspalte

Die Produktspalte enthält sowohl den Produktnamen als auch die Kategorie, getrennt durch einen senkrechten Strich (|).

Wir könnten zwar wieder natürliche Sprache verwenden, aber sehen wir uns eine weitere leistungsstarke Funktion von Gemini an.

Produktnamen bereinigen

  1. Wählen Sie den Kategorieabschnitt eines Produkteintrags einschließlich des Zeichens | aus und löschen Sie ihn.

5171d598a8cb3a75.png

Gemini erkennt dieses Muster automatisch und schlägt eine Transformation vor, die auf die gesamte Spalte angewendet werden kann.

  1. Wählen Sie „Bearbeiten“ aus.

b36cac918b4f30e9.png

Die Empfehlung von Gemini ist genau richtig: Alles nach dem Zeichen „|“ wird entfernt, sodass nur der Produktname übrig bleibt.

Dieses Mal möchten wir unsere Originaldaten jedoch nicht überschreiben.

  1. Wählen Sie im Drop-down-Menü für die Zielspalte die Option „Neue Spalte erstellen“ aus.
  2. Legen Sie ProductName als Name fest.

bda19e0e5e536ccd.png

  1. Sehen Sie sich die Änderungen in der Vorschau an, um sicherzugehen, dass alles richtig aussieht.
  2. Wenden Sie die Transformation an.

Produktkategorie extrahieren

Wir verwenden natürliche Sprache, um Gemini anzuweisen, das Wort nach dem senkrechten Strich (|) in der Spalte „Produkt“ zu extrahieren. Der extrahierte Wert wird in die vorhandene Spalte „Produkt“ geschrieben und überschreibt den bisherigen Wert.

  1. Klicken Sie auf Add Step, um einen neuen Transformationsschritt hinzuzufügen.

77944047e698494c.png

  1. Wählen Sie im Drop-down-Menü Transformation aus.
  2. Geben Sie im Feld für den Natural Language Prompt "extract the word after the pipe (|) in the Product column." ein und drücken Sie dann die Eingabetaste, um den SQL-Code zu generieren.

82efc2447a3210bd.png

  1. Lassen Sie die Zielspalte auf „Produkt“ eingestellt.
  2. Klicken Sie auf Anwenden.

Die Transformation sollte die folgenden Ergebnisse liefern.

d741c66d9e0e8e00.png

8. Daten durch Joins anreichern

Häufig 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.

  1. Klicken Sie auf Add Step.
  2. Join“ auswählen
  3. Rufen Sie die Tabelle stg_extended_product auf.

dca14451c3fbc7f0.png

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 Feld „Beschreibung“ muss „Join by productid“ enthalten. Wenn sie zusätzliche Join-Schlüssel enthält, überschreiben Sie das Beschreibungsfeld mit „Join by productid“ und wählen Sie die Schaltfläche „Generieren“ im Beschreibungsfeld aus, um den Join-Ausdruck mit der folgenden Bedingung L. neu zu generieren.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Optional: Wählen Sie „Vorschau“ aus, um eine Vorschau der Ergebnisse zu sehen.
  2. Klicken Sie auf Apply.

Erweiterte Attribute bereinigen

Der Join war zwar erfolgreich, die Daten der erweiterten Attribute müssen aber bereinigt werden. Die Spalte LaunchDate enthält inkonsistente Datumsformate und in der Spalte Brand fehlen einige Werte.

Wir beginnen mit der Spalte LaunchDate.

f9b570d7c2d3a98d.png

Sehen Sie sich die Empfehlungen von Gemini an, bevor Sie Transformationen erstellen.

  1. Klicken Sie auf den Spaltennamen LaunchDate. Es sollten Empfehlungen ähnlich denen im Bild unten generiert werden.

62b6e6027a46ba75.png

  1. Wenn Sie eine Empfehlung mit dem folgenden SQL-Code sehen, wenden Sie die Empfehlung an und überspringen Sie die nächsten Schritte.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Wenn Sie keine Empfehlung sehen, die dem oben genannten SQL-Code entspricht, klicken Sie auf Add Step.
  2. Wählen Sie Transformation aus.
  3. Geben Sie im SQL-Feld Folgendes ein:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Setzen Sie den Wert Target Columns auf LaunchDate.
  2. Klicken Sie auf Apply.

Die Spalte „LaunchDate“ hat jetzt ein einheitliches Datumsformat.

ccf34aa05754a834.png

9. Zieltabelle hinzufügen

Unser Dataset ist jetzt bereinigt und kann in eine Dimensionstabelle in unserem Data Warehouse geladen werden.

  1. Klicken Sie auf ADD STEP.
  2. Wählen Sie Destination aus.
  3. Geben Sie die erforderlichen Parameter ein: „Dataset“: bq_data_preparation_demo „Tabelle“: DimProduct
  4. Klicken Sie auf Save.

79fdc3666a3a21b9.png

Wir haben jetzt mit den Tabs „Daten“ und „Schema“ gearbeitet. Zusätzlich dazu bietet die BigQuery-Datenvorbereitung eine „Diagramm“-Ansicht, in der die Reihenfolge der Transformationsschritte in Ihrer Pipeline visuell dargestellt wird.

95e64d8152228f7b.png

10. Bonus A: Spalte „Hersteller“ verarbeiten und Fehlertabelle erstellen

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

  1. Klicken Sie neben dem Titel stg_product data preparation auf die Schaltfläche More.
  2. Wählen Sie im Bereich Setting die Option Error Table aus.
  3. 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 Option 30 days (default) aus.
  1. Klicken Sie auf Save.

adb5722f05c1b205.png

Validierung für die Spalte „Hersteller“ einrichten

  1. Wählen Sie die Spalte „Hersteller“ aus.
  2. Gemini hat wahrscheinlich eine relevante Transformation erkannt. Suchen Sie die Empfehlung, bei der nur Zeilen mit einem nicht leeren Feld „Hersteller“ beibehalten werden. Der SQL-Code sieht in etwa so aus:
Manufacturer IS NOT NULL

2.Klicken Sie bei dieser Empfehlung auf die Schaltfläche „Bearbeiten“, um sie zu prüfen.

4749b551a03d8193.png

  1. Aktivieren Sie die Option Zeilen mit fehlgeschlagener Validierung werden an die Fehlertabelle gesendet, falls sie nicht aktiviert ist.
  2. Klicken Sie auf Apply.

Sie können die angewendeten Transformationen jederzeit überprüfen, ändern oder löschen, indem Sie auf die Schaltfläche „Angewendete Schritte“ klicken.

15df6caacbdd6a69.png

Redundante Spalte „ProductID_1“ bereinigen

Die Spalte „ProductID_1“, in der die „ProductID“ aus der zusammengeführten Tabelle dupliziert wird, kann jetzt gelöscht werden.

  1. Wechseln Sie zum Tab Schema.
  2. Klicken Sie neben der Spalte ProductID_1 auf das Dreipunkt-Menü.
  3. Klicken Sie auf Drop.

Jetzt können wir den Job zur Datenvorbereitung ausführen und unsere gesamte Pipeline validieren. Wenn wir mit den Ergebnissen zufrieden sind, können wir den Job so planen, dass er automatisch ausgeführt wird.

  1. Speichern Sie Ihre Vorbereitungen, bevor Sie die Ansicht zur Datenvorbereitung verlassen. Neben dem Titel stg_product data preparation sollte die Schaltfläche Save angezeigt werden. Klicken Sie auf die Schaltfläche, um zu speichern.

11. Umgebung bereinigen

  • stg_product data preparation löschen
  • Dataset bq data preparation demo löschen

12. Glückwunsch

Herzlichen Glückwunsch zum Abschluss des Codelabs.

Behandelte Themen

  • Datenvorbereitung einrichten
  • Tabellen öffnen und Datenvorbereitung durchführen
  • Spalten mit numerischen Daten und Einheitenbeschreibung aufteilen
  • Datumsformate standardisieren
  • Datenvorbereitungen ausführen