Przygotowywanie danych za pomocą agentów AI w BigQuery (laboratorium programistyczne)

1. Wprowadzenie

Wyobraź sobie, że możesz szybciej i wydajniej przygotowywać dane do analizy bez konieczności bycia ekspertem w dziedzinie kodowania. Dzięki przygotowaniu danych BigQuery jest to możliwe. Ta zaawansowana funkcja upraszcza pozyskiwanie danych, ich przekształcanie i oczyszczanie, dzięki czemu przygotowywanie danych staje się dostępne dla wszystkich specjalistów ds. danych w Twojej organizacji.

Chcesz odkryć tajemnice ukryte w danych o produktach?

Wymagania wstępne

  • Podstawowa wiedza o konsoli Google Cloud
  • Podstawowa znajomość SQL

Czego się nauczysz

  • Jak przygotowanie danych w BigQuery może oczyszczać i przekształcać nieprzetworzone dane w praktyczną analitykę biznesową na przykładzie z branży mody i kosmetyków.
  • Jak uruchomić i zaplanować przygotowanie danych oczyszczonych

Czego potrzebujesz

  • Konto Google Cloud i projekt Google Cloud
  • przeglądarka, np. Chrome;

2. Konfiguracja podstawowa i wymagania

Samodzielne konfigurowanie środowiska

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się tym przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje też trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

3. Zanim zaczniesz

Włącz API

Aby korzystać z Gemini in BigQuery, musisz włączyć interfejs Gemini for Google Cloud API. Ten krok zwykle wykonuje administrator usługi lub właściciel projektu z serviceusage.services.enableuprawnieniami IAM.

  1. Aby włączyć interfejs Gemini for Google Cloud API, otwórz stronę Gemini for Google Cloud w Google Cloud Marketplace. Otwórz Gemini w Google Cloud
  2. W selektorze projektów wybierz projekt.
  3. Kliknij Włącz. Strona zostanie zaktualizowana i wyświetli stan Włączony. Usługa Gemini in BigQuery jest teraz dostępna w wybranym projekcie Google Cloud dla wszystkich użytkowników, którzy mają wymagane uprawnienia IAM.

Konfigurowanie ról i uprawnień do tworzenia przygotowań danych

  1. W sekcji Administracja wybierz Uprawnienia.

4477412d79f29e0b.png

  1. Wybierz użytkownika i kliknij ikonę ołówka, aby „Edytować podmiot”.

5eb558e04ad12362.png

Aby korzystać z przygotowania danych BigQuery, musisz mieć te role i uprawnienia:

4. Znajdowanie i subskrybowanie pozycji „bq data preparation demo” w BigQuery Analytics Hub

W tym samouczku użyjemy zbioru danych bq data preparation demo. Jest to połączony zbiór danych w Analytics Hub w BigQuery, z którego będziemy odczytywać dane.

Przygotowanie danych nigdy nie zapisuje danych z powrotem w źródle. Poprosimy Cię o zdefiniowanie tabeli docelowej, w której mają być zapisywane dane. Tabela, z którą będziemy pracować w tym ćwiczeniu, ma tylko 1000 wierszy, aby zminimalizować koszty, ale przygotowywanie danych odbywa się w BigQuery i będzie się skalować.

Aby znaleźć połączony zbiór danych i zasubskrybować go, wykonaj te czynności:

  1. Otwórz Analytics Hub: w konsoli Google Cloud otwórz BigQuery.
  2. W menu nawigacyjnym BigQuery w sekcji „Zarządzanie” wybierz „Centrum analityczne”.

6ddfac4dd863ca7b.png

  1. Wyszukaj ofertę: w interfejsie Analytics Hub kliknij Search Listings (Wyszukaj oferty).
  2. Wpisz bq data preparation demo w pasku wyszukiwania i naciśnij Enter.

7e0cb82b80174cdc.png

  1. Subskrybuj wizytówkę: wybierz bq data preparation demo wizytówkę z wyników wyszukiwania.
  2. Na stronie z informacjami o ofercie kliknij przycisk Subskrybuj.
  3. Sprawdź wszystkie okna potwierdzenia i w razie potrzeby zaktualizuj projekt lub zbiór danych. Wartości domyślne powinny być prawidłowe.

2ef0ac1e3557f2f9.png

  1. Uzyskiwanie dostępu do zbioru danych w BigQuery: po pomyślnym zasubskrybowaniu zbiory danych w informacjach o usłudze zostaną połączone z Twoim projektem BigQuery.

Wróć do BigQuery Studio.

5. Przeglądanie danych i uruchamianie przygotowania danych

  1. Znajdź zbiór danych i tabelę: w panelu Eksplorator wybierz projekt, a następnie znajdź zbiór danych, który został uwzględniony na liście bq data preparation demo. Wybierz tabelę stg_product.
  2. Otwórz w przygotowywaniu danych: kliknij 3 pionowe kropki obok nazwy tabeli i wybierz Open in Data Preparation.

Spowoduje to otwarcie tabeli w interfejsie przygotowywania danych, dzięki czemu możesz rozpocząć przekształcanie danych.

76ace3d4b5cfc2d0.png

Jak widać w podglądzie danych poniżej, mamy pewne problemy z danymi, z którymi musimy się zmierzyć. Należą do nich:

  • Kolumna ceny zawiera zarówno kwotę, jak i walutę, co utrudnia analizę.
  • W kolumnie „Produkt” znajdują się nazwa produktu i kategoria (rozdzielone znakiem |).

f4d93aa59a56447a.png

Gemini od razu analizuje dane i proponuje kilka przekształceń. W tym przykładzie widzimy kilka rekomendacji. W kolejnych krokach zastosujemy te, których potrzebujemy.

fd4d14e4fa3c31c1.png

6. Obsługa kolumny ceny

Zajmijmy się kolumną Cena. Jak widać, zawiera ona zarówno walutę, jak i kwotę. Chcemy rozdzielić te informacje na 2 osobne kolumny:Waluta i Kwota.

Gemini znalazł kilka rekomendacji dotyczących kolumny Cena.

  1. Znajdź rekomendację podobną do tej:

Opis: „To wyrażenie usuwa z określonego pola początkowy ciąg znaków „USD ”

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Wybierz Podgląd

c9327cfbd32247d6.png

  1. Kliknij Zastosuj.

Następnie w kolumnie Cena przekonwertuj typ danych z STRING na NUMERIC.

  1. Znajdź rekomendację podobną do tej:

Opis: „Konwertuje kolumnę Cena z typu string na typ float64”

SAFE_CAST(Price AS float64)
  1. Kliknij Zastosuj.

Na liście kroków powinny być widoczne 3 zastosowane kroki.

d3359af47dce0c15.png

7. Obsługa kolumny produktu

Kolumna produktu zawiera nazwę i kategorię produktu rozdzielone znakiem „|”.

Moglibyśmy znowu użyć języka naturalnego, ale przyjrzyjmy się innej przydatnej funkcji Gemini.

Popraw nazwę produktu

  1. Wybierz część kategorii wpisu o produkcie, w tym znak |, i usuń ją.

5171d598a8cb3a75.png

Gemini inteligentnie rozpozna ten wzorzec i zaproponuje przekształcenie, które można zastosować do całej kolumny.

  1. Kliknij „Edytuj”.

b36cac918b4f30e9.png

Rekomendacja Gemini jest trafna: usuwa wszystko po znaku „|”, skutecznie wyodrębniając nazwę produktu.

Tym razem nie chcemy jednak zastępować pierwotnych danych.

  1. W menu kolumny docelowej kliknij „Utwórz nową kolumnę”.
  2. Jako nazwę wpisz ProductName.

bda19e0e5e536ccd.png

  1. Wyświetl podgląd zmian, aby upewnić się, że wszystko wygląda dobrze.
  2. Zastosuj przekształcenie.

Wyodrębnij kategorię produktu

Używając języka naturalnego, poprosimy Gemini o wyodrębnienie słowa znajdującego się po znaku | w kolumnie Produkt. Wyodrębniona wartość zostanie zastąpiona w istniejącej kolumnie o nazwie Produkt.

  1. Kliknij Add Step, aby dodać nowy krok przekształcenia.

77944047e698494c.png

  1. W menu kliknij Transformation.
  2. W polu prompta w języku naturalnym wpisz „wyodrębnij słowo po znaku potoku (|) w kolumnie Produkt”, a następnie naciśnij Enter, aby wygenerować zapytanie SQL.

82efc2447a3210bd.png

  1. W kolumnie „Kolumna docelowa” pozostaw ustawienie „Produkt”.
  2. Kliknij Zastosuj.

Po przekształceniu powinny pojawić się te wyniki.

d741c66d9e0e8e00.png

8. Łączenie w celu wzbogacenia danych

Często warto wzbogacać dane informacjami z innych źródeł. W naszym przykładzie połączymy dane produktów z rozszerzonymi atrybutami produktów stg_extended_product z tabeli innej firmy. Ta tabela zawiera szczegóły takie jak marka i data wprowadzenia na rynek.

  1. Kliknij Add Step.
  2. Zaznacz Join
  3. Przejdź do tabeli stg_extended_product.

dca14451c3fbc7f0.png

Gemini in BigQuery automatycznie wybrał klucz złączenia productid i zakwalifikował lewą i prawą stronę, ponieważ nazwa klucza jest identyczna.

Uwaga: sprawdź, czy w polu opisu widnieje tekst „Join by productid”. Jeśli zawiera dodatkowe klucze łączenia, zastąp pole opisu tekstem „Join by productid” i kliknij przycisk generowania w polu opisu, aby ponownie wygenerować wyrażenie łączenia z tym warunkiem: L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Opcjonalnie wybierz Podgląd, aby wyświetlić podgląd wyników.
  2. Kliknij Apply.

Usuwanie atrybutów rozszerzonych

Złączenie się powiodło, ale dane atrybutów rozszerzonych wymagają oczyszczenia. Kolumna LaunchDate ma niespójne formaty daty, a kolumna Brand zawiera brakujące wartości.

Zacznijmy od kolumny LaunchDate.

f9b570d7c2d3a98d.png

Przed utworzeniem jakichkolwiek przekształceń sprawdź rekomendacje Gemini.

  1. Kliknij nazwę kolumny LaunchDate. Wyświetlą się wygenerowane rekomendacje podobne do tych na obrazie poniżej.

62b6e6027a46ba75.png

  1. Jeśli zobaczysz rekomendację z tym zapytaniem SQL, zastosuj ją i pomiń kolejne kroki.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Jeśli nie widzisz rekomendacji pasującej do powyższego zapytania SQL, kliknij Add Step.
  2. Wybierz Transformation.
  3. W polu SQL wpisz:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Ustaw Target Columns na LaunchDate.
  2. Kliknij Apply.

Kolumna LaunchDate ma teraz spójny format daty.

ccf34aa05754a834.png

9. Dodawanie tabeli docelowej

Nasz zbiór danych jest teraz oczyszczony i gotowy do załadowania do tabeli wymiarów w naszej hurtowni danych.

  1. Kliknij ADD STEP.
  2. Wybierz Destination.
  3. Wpisz wymagane parametry: Zbiór danych: bq_data_preparation_demo Tabela: DimProduct
  4. Kliknij Save.

79fdc3666a3a21b9.png

Pracowaliśmy już z kartami „Dane” i „Schemat”. Oprócz tego przygotowanie danych BigQuery udostępnia widok „Wykres”, który wizualnie wyświetla sekwencję kroków przekształcania w potoku.

95e64d8152228f7b.png

10. Bonus A: obsługa kolumny Producent i tworzenie tabeli błędów

W kolumnie Manufacturer wykryliśmy też puste wartości. W przypadku tych rekordów chcemy przeprowadzić kontrolę jakości danych i przenieść je do tabeli błędów w celu dalszej weryfikacji.

Tworzenie tabeli błędów

  1. Kliknij przycisk More obok tytułu stg_product data preparation.
  2. W sekcji Setting wybierz Error Table.
  3. Zaznacz pole Enable error table i skonfiguruj ustawienia w ten sposób:
  • Zbiór danych: kliknij bq_data_preparation_demo.
  • Tabela: wpisz err_dataprep
  • W sekcji Define duration for keeping errors wybierz 30 days (default).
  1. Kliknij Save.

adb5722f05c1b205.png

Skonfiguruj weryfikację w kolumnie Producent

  1. Wybierz kolumnę Producent.
  2. Gemini prawdopodobnie zidentyfikuje odpowiednie przekształcenie. Znajdź rekomendację, która zachowuje tylko wiersze, w których pole Producent nie jest puste. Będzie zawierać zapytanie SQL podobne do tego:
Manufacturer IS NOT NULL

2.Aby sprawdzić tę rekomendację, kliknij przycisk „Edytuj”.

4749b551a03d8193.png

  1. Jeśli opcja „Wiersze, których weryfikacja się nie udała, trafiają do tabeli błędów” nie jest zaznaczona, zaznacz ją.
  2. Kliknij Apply.

W dowolnym momencie możesz sprawdzić, zmodyfikować lub usunąć zastosowane przekształcenia, klikając przycisk „Zastosowane kroki”.

15df6caacbdd6a69.png

Usuń zbędną kolumnę ProductID_1.

Kolumnę ProductID_1, która jest duplikatem kolumny ProductID z połączonej tabeli, można teraz usunąć.

  1. Otwórz kartę Schema.
  2. Kliknij 3 kropki obok kolumny ProductID_1.
  3. Kliknij Drop.

Możemy teraz uruchomić zadanie przygotowywania danych i sprawdzić poprawność całego potoku. Gdy będziemy zadowoleni z wyników, możemy zaplanować automatyczne uruchamianie zadania.

  1. Zanim opuścisz widok przygotowywania danych, zapisz zmiany. Obok tytułu stg_product data preparation powinien być widoczny przycisk Save. Kliknij przycisk, aby zapisać.

11. Zwalnianie miejsca w środowisku

  • Usuń stg_product data preparation
  • Usuwanie zbioru danych bq data preparation demo

12. Gratulacje

Gratulujemy ukończenia ćwiczenia.

Omówione zagadnienia

  • Konfigurowanie przygotowania danych
  • Otwieranie tabel i poruszanie się po przygotowaniu danych
  • Dzielenie kolumn z danymi liczbowymi i opisem jednostki
  • Ujednolicanie formatów daty
  • Uruchamianie przygotowywania danych