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
- 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ó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.
- 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.
- 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 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
- W sekcji Administracja wybierz Uprawnienia.

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

Aby korzystać z przygotowania danych BigQuery, musisz mieć te role i uprawnienia:
- Edytujący dane BigQuery (roles/bigquery.dataEditor)
- Konsument wykorzystania usług (roles/serviceusage.serviceUsageConsumer)
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:
- Otwórz Analytics Hub: w konsoli Google Cloud otwórz BigQuery.
- W menu nawigacyjnym BigQuery w sekcji „Zarządzanie” wybierz „Centrum analityczne”.

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

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

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

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

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.

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.
- 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'')
- Wybierz Podgląd

- Kliknij Zastosuj.
Następnie w kolumnie Cena przekonwertuj typ danych z STRING na NUMERIC.
- Znajdź rekomendację podobną do tej:
Opis: „Konwertuje kolumnę Cena z typu string na typ float64”
SAFE_CAST(Price AS float64)
- Kliknij Zastosuj.
Na liście kroków powinny być widoczne 3 zastosowane kroki.

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
- Wybierz część kategorii wpisu o produkcie, w tym znak
|, i usuń ją.

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

Rekomendacja Gemini jest trafna: usuwa wszystko po znaku „|”, skutecznie wyodrębniając nazwę produktu.
Tym razem nie chcemy jednak zastępować pierwotnych danych.
- W menu kolumny docelowej kliknij „Utwórz nową kolumnę”.
- Jako nazwę wpisz ProductName.

- Wyświetl podgląd zmian, aby upewnić się, że wszystko wygląda dobrze.
- 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.
- Kliknij
Add Step, aby dodać nowy krok przekształcenia.

- W menu kliknij
Transformation. - 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.

- W kolumnie „Kolumna docelowa” pozostaw ustawienie „Produkt”.
- Kliknij Zastosuj.
Po przekształceniu powinny pojawić się te wyniki.

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.
- Kliknij
Add Step. - Zaznacz
Join - Przejdź do tabeli
stg_extended_product.

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. 
- Opcjonalnie wybierz Podgląd, aby wyświetlić podgląd wyników.
- 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.

Przed utworzeniem jakichkolwiek przekształceń sprawdź rekomendacje Gemini.
- Kliknij nazwę kolumny
LaunchDate. Wyświetlą się wygenerowane rekomendacje podobne do tych na obrazie poniżej.

- 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))
- Jeśli nie widzisz rekomendacji pasującej do powyższego zapytania SQL, kliknij
Add Step. - Wybierz
Transformation. - W polu SQL wpisz:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Ustaw
Target ColumnsnaLaunchDate. - Kliknij
Apply.
Kolumna LaunchDate ma teraz spójny format daty.

9. Dodawanie tabeli docelowej
Nasz zbiór danych jest teraz oczyszczony i gotowy do załadowania do tabeli wymiarów w naszej hurtowni danych.
- Kliknij
ADD STEP. - Wybierz
Destination. - Wpisz wymagane parametry: Zbiór danych:
bq_data_preparation_demoTabela:DimProduct - Kliknij
Save.

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.

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
- Kliknij przycisk
Moreobok tytułustg_product data preparation. - W sekcji
SettingwybierzError Table. - Zaznacz pole
Enable error tablei skonfiguruj ustawienia w ten sposób:
- Zbiór danych: kliknij
bq_data_preparation_demo. - Tabela: wpisz
err_dataprep - W sekcji
Define duration for keeping errorswybierz30 days (default).
- Kliknij
Save.

Skonfiguruj weryfikację w kolumnie Producent
- Wybierz kolumnę Producent.
- 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”.

- Jeśli opcja „Wiersze, których weryfikacja się nie udała, trafiają do tabeli błędów” nie jest zaznaczona, zaznacz ją.
- Kliknij
Apply.
W dowolnym momencie możesz sprawdzić, zmodyfikować lub usunąć zastosowane przekształcenia, klikając przycisk „Zastosowane kroki”.

Usuń zbędną kolumnę ProductID_1.
Kolumnę ProductID_1, która jest duplikatem kolumny ProductID z 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 przygotowywania danych i sprawdzić poprawność całego potoku. Gdy będziemy zadowoleni z wyników, możemy zaplanować automatyczne uruchamianie zadania.
- Zanim opuścisz widok przygotowywania danych, zapisz zmiany. Obok tytułu
stg_product data preparationpowinien być widoczny przyciskSave. 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