arrow_back

Naprawianie częstych błędów SQL w BigQuery

Zyskaj dostęp do ponad 700 modułów i kursów

Naprawianie częstych błędów SQL w BigQuery

Moduł 50 godz. universal_currency_alt Bezpłatnie show_chart Wprowadzające
info Ten moduł może zawierać narzędzia AI, które ułatwią Ci naukę.
Zyskaj dostęp do ponad 700 modułów i kursów

GSP408

Logo modułów do samodzielnego ukończenia poświęconych Google Cloud

Opis

BigQuery to ekonomiczna, w pełni zarządzana analityczna baza danych Google typu NoOps. Z BigQuery możesz przeszukiwać wiele terabajtów danych bez konieczności zarządzania infrastrukturą czy wyznaczania administratora bazy danych. Usługa BigQuery opiera się na języku SQL i jest dostępna w modelu płatności według wykorzystania. Pracując w BigQuery, możesz skoncentrować się na analizowaniu danych i wyciąganiu z nich znaczących wniosków.

Do BigQuery został wczytany najnowszy zbiór danych e-commerce zawierający miliony rekordów Google Analytics ze sklepu Google Merchandise Store. Będziesz pracować na kopii tego zbioru danych, przeglądając dostępne pola i wiersze w poszukiwaniu cennych informacji.

Moduł ten krok po kroku przeprowadzi Cię przez logikę zapytań związanych z rozwiązywaniem problemów. Zadania zostały opracowane w formie scenariuszy przedstawiających sytuacje z życia. Wyobraź sobie, że nowy analityk danych w Twoim zespole przekazał Ci podane niżej zapytania w celu uzyskania pewnych informacji na temat zbioru danych e-commerce. Opierając się na pytaniach pomocniczych i sugestiach korekt, popraw zapytania, aby uzyskać sensowne rezultaty.

Czego się nauczysz

Z tego modułu nauczysz się, jak:

  • przypinać projekty do drzewa zasobów BigQuery,
  • używać walidatora zapytań oraz edytora zapytań BigQuery do identyfikowania i naprawiania błędów składniowych i logicznych w kodzie SQL.

Konfiguracja i wymagania

Zanim klikniesz przycisk Rozpocznij moduł

Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.

W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.

Do ukończenia modułu potrzebne będą:

  • Dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito (zalecane) lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: w tym module używaj tylko konta do nauki. Jeśli użyjesz innego konta Google Cloud, mogą na nim zostać naliczone opłaty.

Rozpoczynanie modułu i logowanie się w konsoli Google Cloud

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się okno, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:

    • przyciskiem Otwórz konsolę Google Cloud;
    • czasem, który Ci pozostał;
    • tymczasowymi danymi logowania, których musisz użyć w tym module;
    • innymi informacjami potrzebnymi do ukończenia modułu.
  2. Kliknij Otwórz konsolę Google Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).

    Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.

    Wskazówka: otwórz karty obok siebie w osobnych oknach.

    Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
  3. W razie potrzeby skopiuj nazwę użytkownika znajdującą się poniżej i wklej ją w oknie logowania.

    {{{user_0.username | "Username"}}}

    Nazwę użytkownika znajdziesz też w panelu Szczegóły modułu.

  4. Kliknij Dalej.

  5. Skopiuj podane niżej hasło i wklej je w oknie powitania.

    {{{user_0.password | "Password"}}}

    Hasło znajdziesz też w panelu Szczegóły modułu.

  6. Kliknij Dalej.

    Ważne: musisz użyć danych logowania podanych w module. Nie używaj danych logowania na swoje konto Google Cloud. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  7. Na kolejnych stronach wykonaj następujące czynności:

    • Zaakceptuj Warunki korzystania z usługi.
    • Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
    • Nie rejestruj się w bezpłatnych wersjach próbnych.

Poczekaj, aż na karcie otworzy się konsola Google Cloud.

Uwaga: aby uzyskać dostęp do produktów i usług Google Cloud, kliknij Menu nawigacyjne lub wpisz nazwę usługi albo produktu w polu Szukaj. Ikona menu nawigacyjnego i pole wyszukiwania

Zadanie 1. Przypinanie projektu do drzewa zasobów BigQuery

  1. Menu nawigacyjnym (Ikona menu nawigacyjnego) konsoli Google Cloud kliknij BigQuery.

Otworzy się okno „Witamy w usłudze BigQuery w konsoli Cloud”.

Uwaga: zawiera ono link do krótkiego wprowadzenia i informacji o aktualizacjach interfejsu.
  1. Kliknij Gotowe.

  2. Publiczne zbiory danych BigQuery nie są domyślnie wyświetlane. Aby otworzyć projekt publicznych zbiorów danych, skopiuj tekst data-to-insights (wkleisz go w oknie w następnym kroku).

  3. Kliknij + Dodaj > Oznacz projekt według nazwy gwiazdką i wklej nazwę projektu data-to-insights.

  4. Kliknij Oznacz gwiazdką.

Projekt data-to-insights będzie widoczny w sekcji Eksplorator.

Walidator zapytań oraz edytor zapytań BigQuery

W każdej aktywności zawartej w tym module przedstawione są zapytania z częstymi błędami, które wymagają naprawienia. Treść zadań podpowiada, na co należy zwrócić uwagę i jak poprawić składnię, aby uzyskać satysfakcjonujące wyniki.

Aby sprawdzić skuteczność rozwiązania, skopiuj zapytanie i wklej je do edytora zapytań BigQuery. Jeśli zapytanie zawiera błędy, w wierszu z błędem oraz na dole walidatora zapytań pojawi się czerwony wykrzyknik.

Edytor zapytań BigQuery

Jeśli uruchomisz zapytanie z błędami, nie zakończy się ono powodzeniem, a błąd zostanie wyszczególniony w informacjach o zadaniu.

Pole z informacjami o nieudanym zapytaniu

Jeśli w zapytaniu nie ma błędów, w walidatorze zapytań pojawi się zielony znacznik. Gdy zobaczysz zielony znacznik wyboru, kliknij Uruchom, aby uruchomić zapytanie i wyświetlić wyniki.

Zielony znacznik wyboru w walidatorze zapytań

Uwaga: więcej informacji na temat składni znajdziesz w artykule o składni zapytań standardowej wersji SQL (w języku angielskim).

Zadanie 2. Ustalanie całkowitej liczby klientów, którzy ukończyli proces płatności

W tej sekcji Twoim celem jest ułożenie zapytania zwracającego liczbę unikalnych użytkowników, którzy pomyślnie ukończyli proces płatności na Twojej stronie. Dane zgromadzone są w tabeli rev_transactions dostarczonej przez zespół analityków danych. Analitycy zaproponowali też przykładowe zapytania, które mają pomóc Ci rozpocząć analizę, jednak nie masz pewności, czy są one napisane poprawnie.

Uwaga: do uzyskania pełnej oceny wymagane jest bezbłędne wykonanie wszystkich zapytań.

Korygowanie zapytań zawierających błędy walidatora zapytań, błędy związane z aliasem oraz błędy związane z użyciem przecinków

  • Spójrz na widoczne niżej zapytanie i odpowiedz na pytania:
#standardSQL SELECT FROM `data-to-inghts.ecommerce.rev_transactions` LIMIT 1000

  • Może lepsza będzie ta wersja zapytania?
#standardSQL SELECT * FROM [data-to-insights:ecommerce.rev_transactions] LIMIT 1000

  • A co sądzisz o tym zapytaniu opartym na standardowej wersji SQL?
#standardSQL SELECT FROM `data-to-insights.ecommerce.rev_transactions`

  • A teraz? W tym zapytaniu zastosowano kolumnę:
#standardSQL SELECT fullVisitorId FROM `data-to-insights.ecommerce.rev_transactions`

  • A teraz? W tym zapytaniu zawarty jest tytuł strony:
#standardSQL SELECT fullVisitorId hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

  • A teraz? Dodany został brakujący przecinek.
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

Czego się dowiedzieliśmy: zapytanie zwraca wyniki, ale czy masz pewność, że użytkownicy nie zostali policzeni podwójnie? Nawet gdy wyświetlony zostanie tylko 1 wiersz wyników, można poznać odpowiedź na pytanie, ilu unikalnych użytkowników ukończyło proces płatności. W następnej sekcji dowiesz się, jak zagregować uzyskane wyniki.

Korygowanie zapytań zawierających błędy logiczne, dodawanie instrukcji GROUP BY oraz filtrów

  • Opracuj widoczne niżej zapytanie tak, aby odpowiadało na pytanie, ilu unikalnych użytkowników ukończyło proces płatności.
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
  • A może tak? Dodano funkcję agregacji COUNT():
#standardSQL SELECT COUNT(fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions`

  • W kolejnym zapytaniu dodano instrukcje GROUP BY oraz DISTINCT:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY hits_page_pageTitle

Wyniki Wyniki

Świetnie! Wyniki są prawidłowe, ale wyglądają nieco dziwnie.

  • Dodaj filtr, aby wyniki obejmowały tylko tych użytkowników, którzy dotarli do strony z potwierdzeniem płatności („Checkout Confirmation”):
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_page_pageTitle = "Checkout Confirmation" GROUP BY hits_page_pageTitle

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Ustalenie całkowitej liczby klientów, którzy ukończyli proces płatności

Zadanie 3. Tworzenie listy miast, z których wykonano największą liczbę transakcji w Twoim sklepie internetowym

Uwaga: do uzyskania pełnej oceny wymagane jest bezbłędne wykonanie wszystkich zapytań.

Korygowanie kolejności wyników, dodawanie pól obliczeniowych i filtrowanie po usunięciu błędów agregacji

  1. Dokończ częściowo utworzone zapytanie:
SELECT geoNetwork_city, totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY

Możliwe rozwiązanie:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city
  1. Skoryguj poprzednie zapytanie tak, aby na szczycie listy znajdowały się miasta z największą liczbą transakcji.

Możliwe rozwiązanie:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY distinct_visitors DESC
  1. Skoryguj zapytanie, tworząc nowe pole obliczeniowe, w którym dla każdego miasta będzie wyświetlała się średnia liczba produktów w zamówieniu.

Możliwe rozwiązanie:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Wyniki

Wyniki

Przefiltruj zbiorcze wyniki, tak aby wyświetlały się tylko te miasta, dla których średnia liczba produktów w jednym zamówieniu (avg_products_ordered) jest większa niż 20.

  • Co jest nie tak w widocznym niżej zapytaniu?
#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` WHERE avg_products_ordered > 20 GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Możliwe rozwiązanie:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city HAVING avg_products_ordered > 20 ORDER BY avg_products_ordered DESC

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Utworzenie listy miast, z których wykonano największą liczbę transakcji w Twoim sklepie internetowym

Zadanie 4. Ustalanie całkowitej liczby produktów w każdej kategorii

Uwaga: do uzyskania pełnej oceny wymagane jest bezbłędne wykonanie wszystkich zapytań.

Odnajdywanie najlepiej sprzedających się produktów dzięki zastosowaniu filtra z wartościami NULL

  1. Co jest nie tak w widocznym niżej zapytaniu? Jak możesz je naprawić?
#standardSQL SELECT hits_product_v2ProductName, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY 1,2

  1. Co jest nie tak w widocznym niżej zapytaniu?
#standardSQL SELECT COUNT(hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC

  1. Skoryguj poprzednie zapytanie tak, aby w każdej kategorii liczone były tylko odrębne produkty.

Możliwe rozwiązanie:

#standardSQL SELECT COUNT(DISTINCT hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC LIMIT 5

Uwaga:
  • (not set) może oznaczać, że produkt nie ma przypisanej kategorii;
  • „${productitem.product.origCatName}” to kod frontendu do renderowania kategorii, który może oznaczać, że skrypt śledzenia Google Analytics jest uruchamiany, zanim zakończy się renderowanie strony.
  • Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło. Ustalenie całkowitej liczby produktów w każdej kategorii

    Gratulacje!

    Udało Ci się naprawić błędy zapytań w standardowej wersji SQL w BigQuery. Nieprawidłową składnię zapytań możesz sprawdzić w walidatorze zapytań. Pamiętaj jednak, by wyniki zapytania traktować z pewną dozą nieufności, nawet jeśli zostanie ono wykonane poprawnie.

    Kolejne kroki / Więcej informacji

    Szkolenia i certyfikaty Google Cloud

    …pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

    Ostatnia aktualizacja instrukcji: 26 sierpnia 2024 r.

    Ostatni test modułu: 26 sierpnia 2024 r.

    Copyright 2025 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.

    Zanim zaczniesz

    1. Moduły tworzą projekt Google Cloud i zasoby na określony czas.
    2. Moduły mają ograniczenie czasowe i nie mają funkcji wstrzymywania. Jeśli zakończysz moduł, musisz go zacząć od początku.
    3. Aby rozpocząć, w lewym górnym rogu ekranu kliknij Rozpocznij moduł.

    Użyj przeglądania prywatnego

    1. Skopiuj podaną nazwę użytkownika i hasło do modułu.
    2. Kliknij Otwórz konsolę w trybie prywatnym.

    Zaloguj się w konsoli

    1. Zaloguj się z użyciem danych logowania do modułu. Użycie innych danych logowania może spowodować błędy lub naliczanie opłat.
    2. Zaakceptuj warunki i pomiń stronę zasobów przywracania.
    3. Nie klikaj Zakończ moduł, chyba że właśnie został przez Ciebie zakończony lub chcesz go uruchomić ponownie, ponieważ spowoduje to usunięcie wyników i projektu.

    Ta treść jest obecnie niedostępna

    Kiedy dostępność się zmieni, wyślemy Ci e-maila z powiadomieniem

    Świetnie

    Kiedy dostępność się zmieni, skontaktujemy się z Tobą e-mailem

    Jeden moduł, a potem drugi

    Potwierdź, aby zakończyć wszystkie istniejące moduły i rozpocząć ten

    Aby uruchomić moduł, użyj przeglądania prywatnego

    Uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.