Przygotowywanie danych za pomocą agentów AI w BigQuery (laboratorium programistyczne)
Informacje o tym ćwiczeniu (w Codelabs)
1. Wprowadzenie
Wyobraź sobie, że możesz szybciej i skuteczniej przygotowywać dane do analizy bez konieczności bycia ekspertem w zakresie kodowania. Dzięki BigQuery Data Preparation możesz to zrobić. Ta zaawansowana funkcja upraszcza pozyskiwanie, przekształcanie i oczyszczanie danych, oddając przygotowanie danych w ręce wszystkich specjalistów ds. danych w Twojej organizacji.
Chcesz poznać tajemnice ukryte w danych o produktach?
Wymagania wstępne
- podstawowa znajomość konsoli Google Cloud;
- podstawowa znajomość języka SQL,
Czego się nauczysz
- Jak przygotowanie danych w BigQuery może oczyścić i przekształcić dane nieprzetworzone w przydatne statystyki biznesowe. Przykład z branży mody i urody.
- Jak uruchomić i zaplanować przygotowanie danych oczyszczonych
Czego potrzebujesz
- Konto Google Cloud i projekt Google Cloud
- przeglądarka internetowa, np. Chrome;
2. Podstawowa konfiguracja i wymagania
Konfiguracja środowiska w samodzielnym tempie
- 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ć.
- Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, którego nie używają interfejsy API Google. Zawsze możesz ją zaktualizować.
- Identyfikator projektu jest niepowtarzalny we wszystkich projektach Google Cloud i nie można go zmienić (po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie ma znaczenia, jaki to ciąg. W większości laboratoriów z kodem musisz podać identyfikator projektu (zwykle oznaczony jako
PROJECT_ID
). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować inny losowy. Możesz też spróbować użyć własnego adresu e-mail, aby sprawdzić, czy jest on dostępny. Po wykonaniu tego kroku nie można go zmienić. Pozostanie on na stałe w ramach projektu. - Informacyjnie: istnieje jeszcze 3 wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
- Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Cloud. Przejście przez ten samouczek nie będzie wiązać się z wysokimi kosztami, a być może nawet nie będzie trzeba nic płacić. Aby wyłączyć zasoby i uniknąć obciążenia opłatami po zakończeniu samouczka, możesz usunąć utworzone zasoby lub usunąć projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.
3. Zanim zaczniesz
Włącz interfejs API
Aby korzystać z Gemini w BigQuery, musisz włączyć interfejs Gemini for Google Cloud API. Zwykle wykonuje go administrator usługi lub właściciel projektu, który ma uprawnienia serviceusage.services.enable
.
- 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
- W selektorze projektów wybierz projekt.
- Kliknij Włącz. Strona się aktualizuje i wyświetla stan Włączony. Gemini in BigQuery jest teraz dostępny w wybranym projekcie Google Cloud dla wszystkich użytkowników, którzy mają wymagane uprawnienia IAM.
Konfigurowanie ról i uprawnień na potrzeby przygotowywania danych
- Na stronie Administracja i uprawnienia kliknij Uprawnienia.
- Wybierz użytkownika i kliknij ikonę ołówka, aby „zmienić osobę główną”.
Aby korzystać z BigQuery Data Preparation, musisz mieć te role i uprawnienia:
- Edytujący dane BigQuery (roles/bigquery.dataEditor)
- Konsument korzystający z usługi (roles/serviceusage.serviceUsageConsumer)
4. Znajdowanie i subskrybowanie listy „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 BigQuery Analytics Hub, z którego będziemy odczytywać dane.
Przygotowanie danych nigdy nie zapisuje danych w źródle. Poprosimy Cię o zdefiniowanie tabeli docelowej, w której mają być zapisywane dane. Tabela, z którą będziemy pracować w ramach tego ćwiczenia, ma tylko 1000 wierszy, aby koszty były jak najmniejsze, ale przygotowanie danych działa w BigQuery i będzie się skalować.
Aby znaleźć połączony zbiór danych i się do niego zasubskrybować:
- Uzyskaj dostęp do Analytics Hub: w konsoli Google Cloud otwórz BigQuery.
- W menu nawigacyjnym BigQuery w sekcji „Zarządzanie” kliknij „Analytics Hub”.
- Wyszukaj informacje: w interfejsie Analytics Hub kliknij Wyszukaj informacje.
- Wpisz
bq data preparation demo
na pasku wyszukiwania i naciśnij Enter.
- Subskrypcja informacji o firmie: wybierz informacje o firmie
bq data preparation demo
z wyników wyszukiwania. - Na stronie z informacjami o ofercie kliknij przycisk Subskrybuj.
- Sprawdź okna dialogowe z potwierdzeniem i w razie potrzeby zaktualizuj projekt lub zbiór danych. Domyślne wartości powinny być prawidłowe.
- Uzyskaj dostęp do zbioru danych w BigQuery: po wykupieniu subskrypcji zbiory danych w karcie zostaną połączone z Twoim projektem BigQuery.
Wróć do BigQuery Studio.
5. Przeglądanie danych i uruchamianie przygotowania danych
- Znajdź zbiór danych i tabelę: w panelu Eksplorator wybierz projekt, a potem znajdź zbiór danych, który był uwzględniony w wykazie
bq data preparation demo
. Wybierz tabelęstg_product
. - Otwórz w Preparowaniu danych: kliknij 3 pionowe kropki obok nazwy tabeli i wybierz
Open in Data Preparation
.
Otworzy się tabela w interfejsie Data Preparation, w której możesz rozpocząć przekształcanie danych.
Jak widać na podglądzie danych poniżej, mamy kilka problemów z danymi, które chcemy rozwiązać:
- Kolumna „Cena” zawiera zarówno kwotę, jak i walutę, co utrudnia analizę.
- W kolumnie „Produkt” jest podawana nazwa produktu i kategoria (oddzielone znakiem kreski pionowej |).
Gemini od razu analizuje Twoje dane i podpowiada kilka przekształceń. W tym przykładzie widzimy liczbę rekomendacji. W kolejnych krokach zastosujemy te, których potrzebujemy.
6. Obsługa kolumny z ceną
Przyjrzyjmy się kolumnie Cena. Jak już wiemy, zawiera ona zarówno walutę, jak i kwotę. Naszym celem jest rozdzielenie tych danych na 2 kolumny: „Waluta” i „Kwota”.
Gemini znalazł kilka rekomendacji dotyczących kolumny Cena.
- Znajdź rekomendację, która brzmi podobnie do tej:
Opis: „To wyrażenie usuwa z wybranego pola znak „USD”
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Wybierz Podgląd.
- Kliknij Zastosuj.
Następnie w kolumnie Cena przekształcimy typ danych z Ciąg znaków na Liczbowy.
- Znajdź rekomendację, która brzmi podobnie do tej:
Opis: „Konwertuje kolumnę Cena z typu string na float64”
SAFE_CAST(Price AS float64)
- Kliknij Zastosuj.
W liście kroków powinny teraz być widoczne 3 zastosowane kroki.
7. Obsługa kolumny z produktem
Kolumna Product zawiera nazwę produktu i kategorię rozdzielone znakiem pionowym (|).
Możemy znów użyć języka naturalnego, ale najpierw przyjrzyjmy się innej przydatnej funkcji Gemini.
Popraw nazwę produktu
- Wybierz część kategorii w pliku danych o produkcie, która zawiera znak
|
, i usuń ją.
Gemini inteligentnie rozpozna ten wzorzec i zaproponuje zastosowanie do całej kolumny odpowiedniej transformacji.
- Kliknij „Edytuj”.
Gemini ma świetną rekomendację: usuwa wszystko po znaku „|”, skutecznie izolując nazwę produktu.
Tym razem nie chcemy jednak zastąpić oryginalnych danych.
- W menu kolumny docelowej kliknij „Utwórz nową kolumnę”.
- Jako nazwę wpisz ProductName.
- Wyświetl podgląd zmian, aby sprawdzić, czy wszystko wygląda dobrze.
- Zastosuj przekształcenie.
Wyodrębnianie kategorii produktów
Korzystając z języka naturalnego, polecimy Gemini wyodrębnić słowo po pionowej kresce (|) w kolumnie Produkt. Ta wyodrębniona wartość zostanie zastąpiona w istniejącej kolumnie o nazwie Product.
- Aby dodać nowy krok przekształcenia, kliknij
Add Step
.
- W menu kliknij
Transformation
. - W polu prompta w języku naturalnym wpisz „wyodrębnij słowo po znaku pionowym (|) w kolumnie Produkt”, a potem naciśnij klawisz Return, aby wygenerować kod SQL.
- W kolumnie Docelowa kolumna pozostaw wartość „Produkt”.
- Kliknij Zastosuj.
Transformacja powinna dać takie wyniki.
8. Łączenie danych w celu ich wzbogacenia
Często warto wzbogacać dane informacjami z innych źródeł. W naszym przykładzie złączamy dane produktów z rozszerzonymi atrybutami produktów stg_extended_product
z tabeli zewnętrznej. Ta tabela zawiera informacje takie jak marka i data wprowadzenia.
- Kliknij
Add Step
. - Zaznacz
Join
- Przejdź do tabeli
stg_extended_product
.
Gemini in BigQuery automatycznie wybrał klucz złączenia productid i sklasyfikował lewą i prawą stronę, ponieważ nazwa klucza jest identyczna.
Uwaga: sprawdź, czy pole opisu zawiera tekst „Join by productid”. Jeśli zawiera dodatkowe klucze łączenia, zastąp pole opisu na „Join by productid” i kliknij przycisk wygeneruj w polu opisu, aby ponownie wygenerować wyrażenie złączenia z tym warunkiem: L.
productid
= R.
productid
.
- Opcjonalnie kliknij Podgląd, aby wyświetlić podgląd wyników.
- Kliknij
Apply
.
Usuwanie atrybutów rozszerzonych
Mimo że złączenie się udało, dane rozszerzonych atrybutów wymagają oczyszczenia. Kolumna LaunchDate
ma niespójne formaty dat, a kolumna Brand
zawiera brakujące wartości.
Najpierw zajmiemy się kolumną LaunchDate
.
Przed utworzeniem jakichkolwiek przekształceń zapoznaj się z zaleceniami Gemini.
- Kliknij nazwę kolumny
LaunchDate
. Powinny pojawić się rekomendacje podobne do tych na obrazku poniżej.
- Jeśli zobaczysz rekomendację z tym kodem SQL, zaaplikuj ją i pomiń kolejne kroki.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Jeśli nie widzisz rekomendacji pasującej do zapytania SQL powyżej, kliknij
Add Step
. - Kliknij
Transformation
. - W polu SQL wpisz:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Ustaw wartość
Target Columns
naLaunchDate
. - Kliknij
Apply
.
Kolumna LaunchDate ma teraz spójny format daty.
9. Dodawanie tabeli docelowej
Nasz zbiór danych jest już oczyszczony i gotowy do załadowania do tabeli wymiarów w naszym magazynie danych.
- Kliknij
ADD STEP
. - Kliknij
Destination
. - Wypełnij wymagane parametry: Zbiór danych:
bq_data_preparation_demo
Tabela:DimProduct
- Kliknij
Save
.
Teraz zajmujemy się kartami „Dane” i „Schemat”. Oprócz tego narzędzie BigQuery Data Preparation udostępnia widok „Grafik”, który wizualizuje kolejność kroków przekształcenia w Twoim strumieniu danych.
10. Bonus A: obsługa kolumny Manufacturer i tworzenie tabeli błędów
Zidentyfikowaliśmy też puste wartości w kolumnie Manufacturer
. Chcemy wdrożyć w przypadku tych rekordów sprawdzanie jakości danych i przenieść je do tabeli błędów w celu dalszej weryfikacji.
Tworzenie tabeli błędów
- Obok tytułu
stg_product data preparation
kliknij przyciskMore
. - W sekcji
Setting
kliknijError Table
. - Zaznacz pole
Enable error table
i skonfiguruj ustawienia w ten sposób:
- Zbiór danych: wybierz
bq_data_preparation_demo
- Tabela: wpisz
err_dataprep
- W sekcji
Define duration for keeping errors
wybierz30 days (default)
.
- Kliknij
Save
.
Konfigurowanie weryfikacji w kolumnie Producent
- Wybierz kolumnę Producent.
- Gemini prawdopodobnie zidentyfikuje odpowiednie przekształcenie. Znajdź rekomendację, która zachowuje tylko wiersze, w których pole Manufacturer nie jest puste. Będzie ona zawierać zapytanie SQL podobne do tego:
Manufacturer IS NOT NULL
2.Aby sprawdzić rekomendację, kliknij przycisk „Edytuj”.
- Zaznacz opcję „Wiersze, których weryfikacja się nie udała, trafiają do tabeli błędów”, jeśli nie jest zaznaczona.
- Kliknij
Apply
.
W dowolnym momencie możesz sprawdzić, zmodyfikować lub usunąć zastosowane przekształcenia, klikając przycisk „Zastosowano kroki”.
Usuń zbędącą kolumnę ProductID_1
Kolumnę ProductID_1, która zawiera zduplikowany identyfikator ProductID z naszej połączonej tabeli, można teraz usunąć.
- Otwórz kartę
Schema
. - Kliknij 3 kropki obok kolumny
ProductID_1
. - Kliknij
Drop
.
Możemy teraz uruchomić zadanie przygotowania danych i sprawdzać cały potok. Gdy uzyskamy zadowalające wyniki, możemy zaplanować automatyczne wykonywanie zadania.
- Zapisz swoje przygotowania, zanim przełączysz się z widoku przygotowania danych. Obok tytułu
stg_product data preparation
powinien wyświetlać się przyciskSave
. Kliknij przycisk, aby zapisać.
11. Czyszczenie środowiska
- Usuń
stg_product data preparation
- Usuń zbiór danych
bq data preparation demo
12. Gratulacje
Gratulujemy ukończenia ćwiczenia.
Omówione zagadnienia
- Konfiguracja przygotowania danych
- Otwieranie tabel i przechodzenie do przygotowania danych
- Dzielenie kolumn z danymi opisowymi i liczbowymi
- Ujednolicenie formatów dat
- Uruchamianie przygotowania danych