GSP281
Opis
SQL (Structured Query Language) to standardowy język używany do wykonywania
operacji na danych, umożliwiający zadawanie pytań i uzyskiwanie informacji
z ustrukturyzowanych zbiorów danych. Powszechnie wykorzystuje się go do
zarządzania bazami danych oraz wykonywania zadań takich jak wpisywanie
rejestru transakcji do relacyjnych baz danych czy analizowanie petabajtów
danych.
To laboratorium składa się z 2 części. W pierwszej nauczysz się podstawowych
słów kluczowych zapytań SQL. Wykorzystasz je w BigQuery, uruchamiając
zapytania do publicznego zbioru danych zawierającego informacje o przejazdach
rowerami miejskimi w Londynie.
Z drugiej części dowiesz się, jak eksportować podzbiory zbioru danych
o wykorzystaniu rowerów miejskich w Londynie do plików CSV, które następnie
prześlesz do Cloud SQL. Nauczysz się także, jak za pomocą Cloud SQL tworzyć
bazy danych i tabele oraz nimi zarządzać. Na koniec przećwiczysz użycie
dodatkowych słów kluczowych SQL umożliwiających wykonywanie operacji na danych
i ich edytowanie.
Czego się nauczysz
Z tego laboratorium dowiesz się, jak:
- wczytywać dane do BigQuery;
- wykonywać proste zapytania w BigQuery, aby przeglądać dane;
-
wyeksportować podzbiór danych do pliku CSV i umieścić ten plik w nowym
zasobniku Cloud Storage;
-
utworzyć nową instancję Cloud SQL i przesłać wyeksportowany przez siebie
plik CSV jako nową tabelę.
Wymagania wstępne
Bardzo ważne: przed rozpoczęciem tego laboratorium wyloguj
się z osobistego i służbowego konta Gmail.
To jest laboratorium dla użytkowników początkujących.
Zakładamy więc, że masz niewielkie doświadczenie z SQL lub nie masz go wcale.
Znajomość Cloud Storage i Cloud Shell może być pomocna, ale nie jest
konieczna. W tym laboratorium nauczysz się podstaw czytania i pisania zapytań
w języku SQL, a także przećwiczysz zdobyte umiejętności na BigQuery oraz Cloud
SQL.
Zanim rozpoczniesz to laboratorium, spróbuj ocenić swój stopień
znajomości SQL. Poniżej znajdziesz trudniejsze laboratoria pozwalające na
wykorzystanie wiedzy w bardziej złożonych przykładach.
Aby rozpocząć, przewiń stronę w dół i wykonaj opisane niżej kroki konfiguracji
środowiska laboratorium.
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 laboratorium i logowanie się w konsoli Google Cloud
-
Kliknij przycisk Rozpocznij laboratorium. Jeśli laboratorium jest odpłatne, otworzy się okno, w którym możesz wybrać formę płatności.
Po prawej stronie znajduje się panel Konfiguracja laboratorium i dostęp do niego z następującymi elementami:
- przyciskiem Otwórz konsolę Google Cloud;
- uprawnieniami tymczasowymi (nazwą użytkownika i hasłem), których musisz użyć w tym laboratorium;
- innymi informacjami potrzebnymi do ukończenia modułu.
Pamiętaj, że minutnik laboratorium znajduje się u góry strony i pokazuje pozostały czas.
-
Kliknij Otwórz konsolę Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).
Laboratorium uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.
Wskazówka: karty możesz otworzyć w osobnych oknach obok siebie.
Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
-
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 Konfiguracja laboratorium i dostęp do niego.
-
Kliknij Dalej.
-
Skopiuj podane niżej hasło i wklej je w oknie powitania.
{{{user_0.password | "Password"}}}
Hasło znajdziesz też w panelu Konfiguracja laboratorium i dostęp do niego.
-
Kliknij Dalej.
Ważne: musisz użyć danych logowania podanych w laboratorium. Nie używaj danych logowania na swoje konto Google Cloud.
Uwaga: korzystanie z własnego konta Google Cloud w tym laboratorium może wiązać się z dodatkowymi opłatami.
-
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.
Zadanie 1. Poznaj podstawy SQL
Bazy danych i tabele
Jak już wspomnieliśmy, SQL umożliwia pozyskiwanie informacji
z „ustrukturyzowanych zbiorów danych”. Ustrukturyzowany zbiór danych ma jasno
określone reguły i formatowanie. Często uporządkowany jest w formie tabeli lub
danych w wierszach i kolumnach.
Przykładem nieustrukturyzowanych danych są pliki graficzne.
Nieustrukturyzowane dane nie działają w SQL i nie mogą być przechowywane
w zbiorach danych ani tabelach BigQuery (przynajmniej nie natywnie). Aby móc
wykonywać operacje na (między innymi) pliku graficznym, należałoby skorzystać
z usługi takiej jak
Cloud Vision – na
przykład bezpośrednio poprzez jej
interfejs API.
Poniżej znajdziesz przykład ustrukturyzowanego zbioru danych w formie prostej
tabeli:
|
Użytkownik
|
Cena
|
Wysłano
|
Sean |
35 USD |
Tak |
Rocky |
50 USD |
Nie |
Jeśli masz już doświadczenie z Arkuszami Google, powinno to wyglądać znajomo.
W tabeli znajdują się kolumny Użytkownik, Cena i Wysłano oraz 2 wiersze
składające się z wartości wpisanych dla poszczególnych kolumn.
Ogólnie rzecz biorąc, baza danych to
zestaw składający się z co najmniej 1 tabeli. Choć SQL jest
narzędziem do zarządzania ustrukturyzowanymi bazami danych, często uruchamia
się zapytania nie do całej bazy, a do jednej lub kilku połączonych ze sobą
tabel (co będziemy robić również w tym laboratorium).
SELECT i FROM
Ponieważ język SQL jest z natury fonetyczny, przed uruchomieniem zapytania
warto zastanowić się nad tym, jakie informacje chcemy uzyskać (chyba że badamy
dane tylko dla zabawy).
SQL ma gotowe słowa kluczowe, których używa się do tworzenia zapytań
opartych na pseudoangielskiej składni SQL, tak aby silnik bazy danych zwrócił
oczekiwaną odpowiedź.
Najważniejsze słowa kluczowe to SELECT i FROM:
-
Słowo kluczowe
SELECT pozwala określić, które pola ze zbioru
danych chcesz pobrać.
-
Słowo kluczowe
FROM pozwala określić, z których tabel chcesz
pobrać dane.
Wesprzyjmy się przykładem. Załóżmy, że masz tabelę example_table,
która zawiera kolumny USER (UŻYTKOWNIK), PRICE (CENA) i SHIPPED (WYSŁANO):

Przyjmijmy także, że chcesz pobrać tylko dane znajdujące się w kolumnie USER.
Możesz to zrobić, uruchamiając zapytanie wykorzystujące słowa kluczowe
SELECT i FROM:
SELECT USER FROM example_table
Jeśli wykonasz podane powyżej polecenie, wybrane zostaną wszystkie nazwy
z kolumny USER znajdujące się w tabeli
example_table.
Przy użyciu słowa kluczowego SQL SELECT można też wybrać wiele
kolumn. Załóżmy, że chcesz pobrać dane, które znajdują się w kolumnach USER
i SHIPPED. Aby to zrobić, zmodyfikuj poprzednie zapytanie SELECT,
dodając do niego kolejną wartość kolumny (pamiętaj, by oddzielić tę wartość
przecinkiem):
SELECT USER, SHIPPED FROM example_table
Uruchomienie tego polecenia sprawi, że z pamięci pobrane zostaną dane
USER i SHIPPED:

Tym prostym sposobem udało Ci się opanować 2 podstawowe słowa kluczowe SQL.
Teraz zrobi się jeszcze ciekawiej.
WHERE
Słowo kluczowe WHERE to kolejne polecenie SQL, które filtruje
tabele w poszukiwaniu określonych wartości kolumny. Przyjmijmy, że z tabeli
example_table chcesz pobrać nazwy użytkowników, których paczki
zostały wysłane. Możesz dodać do zapytania słowo WHERE, tak jak
poniżej:
SELECT USER FROM example_table WHERE SHIPPED='YES'
To polecenie zwraca z pamięci nazwy wszystkich użytkowników z kolumny USER,
których paczki zostały wysłane (SHIPPED):

Skoro poznaliśmy już podstawy dotyczące głównych słów kluczowych SQL, spróbuj
wykorzystać zdobyte informacje, uruchamiając omówione typy zapytań w konsoli
BigQuery.
Sprawdź swoją wiedzę
Poniżej znajdziesz pytania jednokrotnego wyboru, które pomogą Ci utrwalić
zdobytą dotychczas wiedzę. Odpowiedz na nie najlepiej, jak potrafisz.
Zadanie 2. Odkryj konsolę BigQuery
Wzorzec BigQuery
BigQuery to w pełni
zarządzana hurtownia danych, która może obsługiwać petabajty danych i działa
w Google Cloud. Analitycy i badacze danych mogą szybko filtrować duże zbiory
danych, tworzyć do nich zapytania, agregować wyniki oraz wykonywać złożone
operacje bez martwienia się o konfigurację serwerów czy zarządzanie nimi.
BigQuery ma formę narzędzia wiersza poleceń (zainstalowanego w Cloud Shell)
lub konsoli sieciowej – obie te formy pozwalają na zarządzanie danymi
przechowywanymi w projektach Google Cloud i tworzenie do nich zapytań.
W tym laboratorium do uruchamiania zapytań SQL będziesz używać konsoli
sieciowej.
Otwieranie konsoli BigQuery
- W konsoli Google Cloud Console kliknij menu nawigacyjne > BigQuery.
Otworzy się okno Witamy w usłudze BigQuery w Cloud Console. Zawiera ono link do krótkiego wprowadzenia oraz informacji o wersji.
- Kliknij Gotowe.
Otworzy się konsola BigQuery.
Poświęćmy chwilę na omówienie kilku ważnych funkcji interfejsu użytkownika. Po
prawej stronie konsoli znajduje się Edytor zapytań. To w nim wpisuje się
i uruchamia polecenia SQL takie jak te, które przedstawiliśmy wcześniej. Pod
spodem znajduje się „Historia zapytań”, czyli lista zapytań uruchomionych
w przeszłości.
Obszar po lewej stronie konsoli to Menu nawigacyjne. Oprócz
niewymagających wyjaśnień opcji związanych z historią zapytań, zapisanymi
zapytaniami i historią zadań znajduje się tam karta Eksplorator.
Najwyższy poziom zasobów na karcie Eksplorator to projekty Google
Cloud – czyli takie, jak tymczasowe projekty Google Cloud, w których logujesz
się i których używasz w każdym laboratorium Google Skills. Jak widać w konsoli
i na ostatnim zrzucie ekranu, na karcie Eksplorator znajduje się tylko Twój
projekt. Jeśli klikniesz strzałkę obok nazwy projektu, nic się nie wyświetli.
To dlatego, że projekt nie zawiera żadnych zbiorów danych ani tabel – nie ma
nic, do czego można by utworzyć zapytanie. Wcześniej dowiedzieliśmy się, że
zbiór danych zawiera tabele. Gdy będziesz dodawać dane do projektu, zwróć
uwagę na następującą prawidłowość: w BigQuery
projekty zawierają zbiory danych, a zbiory danych zawierają tabele.
Skoro poznaliśmy już wzorzec projekt > zbiór danych > tabela i zgłębiliśmy
tajniki konsoli, spróbujmy przesłać dane, do których można utworzyć zapytania.
Przesyłanie danych, do których można utworzyć zapytania
W tej sekcji pobierzesz do projektu dane publiczne, aby móc przećwiczyć
uruchamianie poleceń SQL w BigQuery.
-
W BigQuery kliknij ikonę Eksplorator (pierwsza ikona na
górnym pasku menu BigQuery) i wybierz + Dodaj dane.
-
Kliknij Oznacz projekt według nazwy gwiazdką.
-
Wpisz nazwę projektu: bigquery-public-data
-
Kliknij Oznacz gwiazdką.
-
Kliknij strzałkę wstecz obok Dodaj dane, aby wrócić do
panelu Eksplorator.
Pamiętaj, że w nowej karcie nadal pracujesz z poziomu projektu laboratorium.
Wprawdzie pobraliśmy dostępny publicznie projekt zawierający zbiory danych
i tabele, aby przeanalizować go w BigQuery, ale nie
przełączyliśmy się na niego. Wszystkie zadania i usługi wciąż są
powiązane z Twoim kontem Google Skills.
-
W panelu Eksplorator kliknij nazwę projektu
bigquery-public-data.
-
Kliknij Zbiory danych.
Masz dostęp do wielu zbiorów danych w projekcie
bigquery-public-data, w tym do zbioru
london_bicycles.
-
W prawym dolnym rogu panelu Zbiory danych kliknij strzałkę
w prawo, aby przejść do nazw zbiorów danych, a następnie kliknij zbiór
danych o nazwie london_bicycles.
W zbiorze danych london_bicycles znajdują się 2 tabele:
- cycle_hire
- cycle_stations
-
Kliknij tabelę cycle_hire, a następnie kliknij kartę
Podgląd, aby wyświetlić podgląd kolumn i wartości danych.
Wyświetlona strona powinna przypominać tę:

Przyjrzyj się kolumnom i wartościom podanym w wierszach. Teraz możesz
uruchomić zapytania SQL na tabeli cycle_hire.
Używanie poleceń SELECT, FROM i WHERE w BigQuery
Poznaliśmy już podstawowe słowa kluczowe stosowane w zapytaniach SQL oraz
omówiliśmy wzorzec danych BigQuery; mamy także dane, z którymi można pracować.
Teraz możemy uruchomić polecenia SQL przy użyciu tej usługi.
Jeśli spojrzysz w prawy dolny róg konsoli, zobaczysz, że jest
83 434 866 wierszy danych dotyczących pojedynczych przejazdów
rowerami publicznymi na terenie Londynu w latach 2015–2017 – trzeba przyznać,
że to niemało.
Przyjrzyj się kluczowi end_station_name w kolumnie siódmej, który
określa miejsce docelowe przejazdu rowerem miejskim. Wcześniej jednak uruchom
proste zapytanie, aby wyizolować kolumnę end_station_name.
-
Na karcie Zapytanie bez tytułu skopiuj i wklej to
zapytanie:
SELECT end_station_name FROM
`bigquery-public-data.london_bicycles.cycle_hire`;
- Następnie kliknij Uruchom.
Po około 20 sekundach powinno zostać zwróconych 83 434 866 wierszy
zawierających dane z kolumny, której dotyczyło zapytanie:
end_station_name.
A może sprawdzimy, ile przejazdów trwało co najmniej 20 minut?
-
Wyczyść zapytanie z edytora, a następnie uruchom zapytanie ze słowem
kluczowym
WHERE:
SELECT * FROM `bigquery-public-data.london_bicycles.cycle_hire` WHERE
duration>=1200;
Przeprocesowanie tego zapytania może potrwać około minuty.
SELECT * zwraca wszystkie wartości kolumny z tabeli. Czas trwania
(duration) mierzony jest w sekundach, dlatego użyliśmy wartości 1200
(60 × 20).
Jeśli spojrzysz w prawy dolny róg, zobaczysz, że zwróconych zostało
26 441 016 wierszy. Liczba ta stanowi ułamek całości
(26 441 016 / 83 434 866), co oznacza, że około 30% przejazdów rowerem
publicznym po Londynie trwało co najmniej 20 minut (dobre rozwiązanie na
dłuższą metę).
Sprawdź swoją wiedzę
Poniżej znajdziesz pytania jednokrotnego wyboru, które pomogą Ci utrwalić
zdobytą dotychczas wiedzę. Odpowiedz na nie najlepiej, jak potrafisz.
Zadanie 3. Użyj dodatkowych słów kluczowych SQL: GROUP BY, COUNT, AS i ORDER
BY
GROUP BY
Słowo kluczowe GROUP BY agreguje wiersze wyników o wspólnych
kryteriach (np. wartości kolumny) i zwraca wszystkie unikalne wpisy
spełniające dane kryteria.
To użyteczne słowo kluczowe, które przydaje się do wyszukiwania informacji
kategorialnych w tabelach.
-
Aby przyjrzeć się jego działaniu, wyczyść zapytanie z edytora, po czym
skopiuj i wklej następujące polecenie:
SELECT start_station_name FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name;
- Kliknij Uruchom.
Wynikiem jest lista unikalnych (niepowtarzalnych) wartości kolumny.
Gdybyśmy nie użyli słowa kluczowego GROUP BY, zapytanie
zwróciłoby wszystkie 84 434 866 wierszy. Zastosowanie
GROUP BY pozwala na wyświetlenie unikalnych wartości kolumny
z tabeli. Możesz się o tym przekonać, spoglądając w prawy dolny róg. Zobaczysz
954 wiersze, co oznacza, że w Londynie są 954 unikalne
miejsca, w których rozpoczęto przejazd rowerem publicznym.
COUNT
Funkcja COUNT() zwraca liczbę wierszy o takich samych kryteriach
(np. wartości kolumny). W połączeniu z GROUP BY może być bardzo
przydatna.
Dodaj funkcję COUNT do poprzedniego zapytania, aby dowiedzieć
się, ile przejazdów rozpoczęło się w poszczególnych miejscach.
-
Wyczyść zapytanie z edytora, skopiuj i wklej poniższe polecenie, po czym
kliknij Uruchom:
SELECT start_station_name, COUNT(*) FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name;
Wyniki pokazują, ile przejazdów rowerem miejskim rozpoczęło się w każdym
z miejsc.
AS
Kolejnym słowem kluczowym używanym w SQL jest AS. Umożliwia ono
stworzenie aliasu tabeli lub kolumny. Alias to nowa nazwa nadawana
zwróconej kolumnie lub tabeli (w zależności od tego, do czego słowo
AS się odnosi).
-
Dodaj słowo kluczowe
AS do naszego ostatniego zapytania, aby
zobaczyć, jak to wygląda w praktyce. Wyczyść zapytanie z edytora, po czym
skopiuj i wklej następujące polecenie:
SELECT start_station_name, COUNT(*) AS num_starts FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name;
- Kliknij Uruchom.
W wynikach nazwa prawej kolumny zmieniła się z COUNT(*) na
num_starts.
Jak widzimy, nazwa aliasu dla kolumny COUNT(*) w zwróconej tabeli
to num_starts. „AS” jest przydatnym słowem kluczowym, zwłaszcza
jeśli ma się do czynienia z dużymi zbiorami danych, w których często (częściej
niż myślisz) występują niejednoznaczne nazwy tabel czy kolumn.
ORDER BY
Słowo kluczowe ORDER BY sortuje dane zwrócone z zapytania
w kolejności rosnącej lub malejącej na podstawie określonych kryteriów bądź
wartości kolumny. Dodaj to słowo do poprzedniego zapytania, aby:
-
uzyskać tabelę zawierającą liczbę przejazdów rowerem miejskim, które
rozpoczęły się w każdym z miejsc początkowych, uporządkowaną alfabetycznie
według nazwy miejsca rozpoczęcia przejazdu;
-
uzyskać tabelę zawierającą liczbę przejazdów rowerem miejskim, które
rozpoczęły się w każdym z miejsc początkowych, uporządkowaną numerycznie od
wartości najniższej do najwyższej;
-
uzyskać tabelę zawierającą liczbę przejazdów rowerem miejskim, które
rozpoczęły się w każdym z miejsc początkowych, uporządkowaną numerycznie od
wartości najwyższej do najniższej.
Każde z poniższych poleceń jest osobnym zapytaniem. Dla każdego polecenia:
- Wyczyść Edytor zapytań.
- Skopiuj polecenie i wklej je do Edytora zapytań.
- Kliknij Uruchom. Przyjrzyj się wynikom.
SELECT start_station_name, COUNT(*) AS num FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name
ORDER BY start_station_name;
SELECT start_station_name, COUNT(*) AS num FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name
ORDER BY num;
SELECT start_station_name, COUNT(*) AS num FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name
ORDER BY num DESC;
Wyniki ostatniego zapytania zawierają listę miejsc początkowych według liczby
przejazdów, które się w nich rozpoczęły.
Jak widać, najwięcej przejazdów rozpoczęło się na stacji „Hyde Park Corner,
Hyde Park”. Są one jednak tylko ułamkiem całości (671 688 / 83 434 866)
i stanowią mniej niż 1% wszystkich przejazdów.
Sprawdź swoją wiedzę
Poniżej znajdziesz pytania jednokrotnego wyboru, które pomogą Ci utrwalić
zdobytą dotychczas wiedzę. Odpowiedz na nie najlepiej, jak potrafisz.
Zadanie 4. Eksportowanie danych BigQuery do plików CSV
Eksportowanie zapytań do plików CSV
Cloud SQL to w pełni zarządzana
usługa bazy danych ułatwiająca konfigurację i obsługę relacyjnych baz danych
PostgreSQL i MySQL w chmurze oraz zarządzanie i administrowanie nimi. Cloud
SQL akceptuje 2 formaty danych: pliki zrzutu SQL (.sql) i pliki CSV (.csv). Za
chwilę dowiesz się, jak wyeksportować podzbiory tabeli
cycle_hire do plików CSV i przesłać je do Cloud Storage jako
lokalizacji pośredniej.
Tak powinno wyglądać ostatnie uruchomione przez Ciebie polecenie w konsoli
BigQuery:
SELECT start_station_name, COUNT(*) AS num FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY start_station_name
ORDER BY num DESC;
-
W sekcji Wyniki zapytania kliknij Zapisz wyniki >
Pobieranie lokalne > CSV. Zapisz plik jako
start_station_name.csv.
Rozpocznie się pobieranie, w wyniku którego Twoje zapytanie zostanie zapisane
jako plik CSV. Zapamiętaj lokalizację i nazwę pobranego pliku – wkrótce będzie
Ci on potrzebny.
-
Wyczyść zapytanie z edytora, po czym skopiuj i uruchom następujące
polecenie:
SELECT end_station_name, COUNT(*) AS num FROM
`bigquery-public-data.london_bicycles.cycle_hire` GROUP BY end_station_name
ORDER BY num DESC;
Zwraca ono tabelę zawierającą liczbę przejazdów rowerem miejskim, które
zakończyły się w każdym z miejsc docelowych, uporządkowaną numerycznie od
wartości najwyższej do najniższej.
-
W sekcji Wyniki zapytania kliknij Zapisz wyniki >
Pobieranie lokalne > CSV. Zapisz plik jako
end_station_name.csv.
Rozpocznie się pobieranie, w wyniku którego Twoje zapytanie zostanie zapisane
jako plik CSV. Zapamiętaj nazwę i lokalizację pobranego pliku – będzie Ci on
potrzebny w następnej sekcji.
Tworzenie zasobnika Cloud Storage
-
Przejdź do Cloud Console. Utworzysz tam zasobnik na dane, do którego
prześlesz utworzone przed chwilą pliki.
-
Wybierz Menu nawigacyjne >
Cloud Storage > Zasobniki, a następnie
kliknij Utwórz zasobnik.
Uwaga: jeśli pojawi się pytanie o niezapisaną pracę, kliknij
OPUŚĆ.
-
Wpisz unikalną nazwę zasobnika (np. identyfikator projektu
), we wszystkich pozostałych ustawieniach pozostaw wartości domyślne
i kliknij Utwórz.
-
Jeśli pojawi się okno Dostęp publiczny zostanie zablokowany,
kliknij Potwierdź.
Testowanie ukończonego zadania
Kliknij Sprawdź postępy poniżej, aby sprawdzić postęp pracy
w laboratorium. Jeśli udało Ci się utworzyć zasobnik, wyświetli się odpowiedni
wynik.
Utworzenie zasobnika Cloud Storage
Przesyłanie plików CSV do Cloud Storage
W konsoli Google Cloud powinien wyświetlać się teraz Twój nowo utworzony
zasobnik Cloud Storage.
-
Kliknij Prześlij > Prześlij pliki i wybierz plik CSV
zawierający dane związane z miejscami początkowymi przejazdów
(start_station_name).
-
Następnie kliknij Otwórz.
-
Powtórz te czynności dla pliku zawierającego dane związane z miejscami
docelowymi przejazdów (end_station_name).
Na liście Obiekty na stronie
Szczegóły zasobnika powinny teraz występować obiekty
start_station_data.csv i end_station_data.csv.
Aby zobaczyć przesłane pliki, może być konieczne odświeżenie strony.
Testowanie ukończonego zadania
Kliknij Sprawdź postępy, żeby zobaczyć stan realizacji
zadania. Jeśli udało Ci się przesłać obiekty CSV do zasobnika, wyświetli się
odpowiedni wynik.
Przesłanie plików CSV do Cloud Storage
Zadanie 5. Tworzenie instancji Cloud SQL
-
W Menu nawigacyjnym (
) kliknij Cloud SQL.
-
Na stronie Instances (Instancje) w sekcji
Get Started (Rozpocznij) na karcie
MySQL kliknij
Create Development Instance (Utwórz instancję
programistyczną).
-
W polu Wybierz wersję Cloud SQL kliknij
Enterprise.
-
W polu Gotowe ustawienia wersji wybierz
Programowanie (4 vCPU, 16 GB RAM, 100 GB miejsca na dane,
jedna strefa).
Uwaga: jeśli wybierzesz gotową instancję większą niż Programowanie,
Twój projekt zostanie oznaczony, a laboratorium zostanie zakończone.
-
W polu Wersja bazy danych wybierz
MySQL 8.0. Pozostaw wartość domyślną w polu
Wersja podrzędna.
-
W polu Identyfikator instancji wpisz:
my-demo
-
W polu Hasło wpisz: ChangeMe1!
-
W sekcji Dostępność strefowa wybierz
Wiele stref (wysoka dostępność).
-
Rozwiń menu Określ strefy i wybierz
jako Główną strefę. Pozostaw wartość domyślną w przypadku
Strefy dodatkowej.
-
Kliknij Utwórz instancję.
Uwaga: tworzenie instancji może potrwać kilka minut. Gdy
proces dobiegnie końca, na stronie instancji SQL obok nazwy instancji
wyświetli się zielony znacznik wyboru.
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy) poniżej, aby
sprawdzić postęp pracy z laboratorium. Jeśli udało Ci się skonfigurować
instancję Cloud SQL, wyświetli się odpowiedni wynik.
Utworzenie instancji Cloud SQL
Zadanie 6. Utworzenie bazy danych i tabeli Cloud SQL
Nawiązywanie połączenia z instancją Cloud SQL
Instancja Cloud SQL została już skonfigurowana, możesz więc utworzyć w niej
bazę danych przy użyciu wiersza poleceń Cloud Shell.
-
Na stronie Cloud SQL instancji o nazwie my-demo przewiń
do sekcji Połącz z tą instancją i kliknij
Otwórz Cloud Shell.
-
Gdy zobaczysz komunikat, kliknij Dalej, a potem
Autoryzuj.
-
Uruchom wstępnie uzupełnione polecenie, aby połączyć się z instancją SQL.
Zastąp część my-demo własną nazwą instancji (o ile to
konieczne):
gcloud sql connect my-demo --user=root --quiet
Uwaga: łączenie się z instancją może potrwać około minuty.
Jeśli pojawi się komunikat „Nie udało się wykonać operacji, ponieważ inna
operacja była już w toku”, musisz poczekać na zakończenie tworzenia instancji
SQL i spróbować się połączyć jeszcze raz.
-
Gdy pojawi się prośba, wpisz hasło roota ustawione dla instancji:
ChangeMe1!
Uwaga: kursor się nie porusza.
Powinny pojawić się wyniki podobne do tych:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection
id is 113 Server version: 8.0.43-google (Google) Copyright (c) 2000, 2026,
Oracle and/or its affiliates. Oracle is a registered trademark of Oracle
Corporation and/or its affiliates. Other names may be trademarks of their
respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the
current input statement. mysql>
Utwórz bazę danych
Choć instancja Cloud SQL zawiera już skonfigurowane bazy danych, do
przechowywania danych dotyczących przejazdów rowerem współdzielonym na terenie
Londynu utworzysz własną bazę.
-
Uruchom podane niżej polecenie w wierszu poleceń serwera MySQL, aby utworzyć
bazę danych o nazwie
bike:
CREATE DATABASE bike;
Powinny pojawić się te wyniki:
Query OK, 1 row affected (0.05 sec) mysql>
Testowanie ukończonego zadania
Kliknij Sprawdź postępy, by zobaczyć stan realizacji zadania.
Jeśli udało Ci się utworzyć bazę danych w instancji Cloud SQL, wyświetli się
odpowiedni wynik.
Utwórz bazę danych
Utwórz tabelę.
-
Utwórz tabelę w bazie danych „bike”, uruchamiając następujące polecenie:
USE bike; CREATE TABLE london1 (start_station_name VARCHAR(255), num INT);
Ta instrukcja używa słowa kluczowego CREATE, ale tym razem
pojawia się w niej klauzula TABLE, która określa, że utworzona ma
zostać tabela, a nie baza danych. Słowo kluczowe USE wskazuje
bazę danych, z którą chcesz się połączyć. Masz już tabelę o nazwie „london1”
zawierającą 2 kolumny: „start_station_name” i „num”. Część
VARCHAR(255) wskazuje na kolumnę z ciągiem o zmiennej długości,
mogącą pomieścić do 255 znaków, a INT to kolumna przechowująca
wartości całkowite.
-
Utwórz nową tabelę o nazwie „london2”, uruchamiając następujące polecenie:
USE bike; CREATE TABLE london2 (end_station_name VARCHAR(255), num INT);
-
Teraz upewnij się, że puste tabele zostały utworzone. Uruchom podane niżej
polecenia w wierszu poleceń serwera MySQL:
SELECT * FROM london1; SELECT * FROM london2;
Dane wyjściowe obu poleceń powinny wyglądać tak:
Empty set (0.04 sec)
W wyniku widzimy „Empty set”, ponieważ dane nie zostały jeszcze wczytane.
Nie zamykaj Cloud Shell i przejdź do następnego zadania.
Zadanie 7. Przesyłanie plików CSV do tabel
Wróć do konsoli Cloud SQL. Teraz prześlesz pliki CSV z danymi
start_station_name i end_station_name do nowo
utworzonych tabel „london1” i „london2”.
-
Na stronie instancji Cloud SQL kliknij Importuj.
-
Jako format pliku wybierz CSV.
-
W polu pliku w Cloud Storage kliknij Przeglądaj,
a następnie kliknij strzałkę obok nazwy Twojego zasobnika i wybierz
start_station_data.csv. Kliknij Wybierz.
-
Wybierz bazę danych bike, a jako tabelę wpisz
london1.
-
Kliknij Importuj.
-
Powtórz kroki 1–5, aby zaimportować drugi plik CSV o nazwie
end_station_data.csv do tabeli london2 w bazie
danych bike.
Oba pliki CSV powinny być już przesłane do tabel w bazie danych
bike.
-
Wróć do sesji Cloud Shell i w wierszu poleceń MySQL uruchom następujące
polecenie, aby zbadać zawartość tabeli
london1:
SELECT * FROM london1;
Powinno wyświetlić się 955 wierszy danych wyjściowych, po 1 na każdą unikalną
nazwę miejsca.
-
Uruchom następujące polecenie, by upewnić się, że tabela
london2 zawiera dane:
SELECT * FROM london2;
Powinno wyświetlić się 959 wierszy danych wyjściowych, po 1 na każdą unikalną
nazwę miejsca plus 1 dodatkowy.
Zadanie 8. Uruchamianie zapytań dotyczących danych w Cloud SQL
Słowo kluczowe DELETE
Teraz przedstawimy kilka innych słów kluczowych SQL, które pomagają
w zarządzaniu danymi. Zacznijmy od DELETE.
-
Uruchom podane niżej polecenia w sesji MySQL, aby usunąć pierwszy wiersz
z tabel „london1” i „london2”.
DELETE FROM london1 WHERE num=0; DELETE FROM london2 WHERE num=0;
Po uruchomieniu obu poleceń dane wyjściowe powinny wyglądać tak:
Query OK, 1 row affected (0.04 sec)
Usunięte wiersze były nagłówkami kolumn z plików CSV. Słowo kluczowe
DELETE nie powoduje usunięcia pierwszego wiersza jako takiego –
usunie ono wszystkie wiersze tabeli, które w danej kolumnie (w tym
przypadku: „num”) mają określoną wartość (w tym przypadku: 0). Jeśli
uruchomisz zapytania SELECT * FROM london1; i SELECT * FROM london2;, a następnie przewiniesz tabele do góry, zobaczysz, że te wiersze już nie
istnieją.
Słowo kluczowe INSERT INTO
Słowo kluczowe INSERT INTO pozwala na wstawianie wartości do
tabel.
-
Uruchom podane niżej polecenie, aby wstawić do tabeli „london1” nowy wiersz
z wartością „test destination” („testowy cel podróży”) w kolumnie
start_station_name i wartością 1 w kolumnie num:
INSERT INTO london1 (start_station_name, num) VALUES ("test destination", 1);
Słowo kluczowe INSERT INTO wymaga tabeli („london1”) – utworzy
ono nowy wiersz z wartościami dla kolumn wskazanych w pierwszym nawiasie
(w tym przypadku „start_station_name” i „num”). Wszystko, co zostanie wpisane
po klauzuli VALUES, zostanie wstawione jako wartości w nowym wierszu.
Powinny pojawić się te wyniki:
Query OK, 1 row affected (0.05 sec)
Jeśli uruchomisz zapytanie SELECT * FROM london1;, zobaczysz
dodatkowy wiersz dodany u dołu tabeli „london1”.
Słowo kluczowe UNION
Ostatnim słowem kluczowym SQL, którego się dziś nauczysz, jest
UNION. Łączy ono dane wyjściowe z co najmniej 2 zapytań
SELECT w zestaw wyników. Użyjesz słowa kluczowego
UNION do połączenia podzbiorów tabel „london1” i „london2”.
Przedstawione niżej połączone zapytanie pobierze określone dane z obu tabel
i połączy je przy użyciu operatora UNION.
- Uruchom to polecenie w wierszu poleceń serwera MySQL:
SELECT start_station_name AS top_stations, num FROM london1 WHERE num>100000
UNION SELECT end_station_name, num FROM london2 WHERE num>100000 ORDER BY
top_stations DESC;
Pierwsze zapytanie SELECT wybiera 2 kolumny z tabeli „london1”
i tworzy alias kolumny „start_station_name”, która zostaje ustawiona jako
„top_stations”. Używa też słowa kluczowego WHERE do pobrania nazw
wyłącznie tych miejsc, z których rozpoczęło się ponad 100 tys. przejazdów
rowerami miejskimi.
Drugie zapytanie SELECT wybiera 2 kolumny z tabeli „london2”
i używa słowa kluczowego WHERE do pobrania nazw wyłącznie tych
miejsc, w których zakończyło się ponad 100 tys. przejazdów rowerami miejskimi.
Umieszczone pomiędzy zapytaniami słowo kluczowe UNION łączy
wyniki tych zapytań przez zgrupowanie danych z tabel „london2” i „london1”.
Ponieważ nastąpiło połączenie „london1” z „london2”, wyodrębnione kolumny to
„top_stations” i „num”.
Słowo kluczowe ORDER BY uporządkuje ostateczną, połączoną tabelę
alfabetycznie według wartości w kolumnie „top_stations” w kolejności
malejącej.
Przykładowe dane wyjściowe (Twoje wyniki mogą być inne):
Jak widzisz, 13 z 14 stacji to najpopularniejsze miejsca zarówno pod względem
rozpoczęcia, jak i zakończenia przejazdów. Dzięki kilku podstawowym słowom
kluczowym SQL udało Ci się utworzyć zapytanie do sporego zbioru danych, które
zwróciło punkty danych i odpowiedzi na określone pytania.
Gratulacje!
W tym laboratorium poznaliśmy podstawy SQL oraz nauczyliśmy się stosować słowa
kluczowe i uruchamiać zapytania w BigQuery i CloudSQL. Poznaliśmy podstawowe
zagadnienia dotyczące projektów, baz danych i tabel. Wykorzystaliśmy
w praktyce słowa kluczowe, które umożliwiają edytowanie danych i wykonywanie
na nich operacji. Wiesz już, jak wczytywać dane do BigQuery oraz jak
uruchamiać zapytania do tabel w praktyce. Dowiedzieliśmy się, jak utworzyć
instancje w Cloud SQL, i przenieśliśmy podzbiory danych do tabel znajdujących
się w bazach danych. Połączyliśmy i uruchomiliśmy zapytania w Cloud SQL, aby
dojść do interesujących wniosków dotyczących miejsc w Londynie, w których
rozpoczęto i zakończono przejazdy rowerami miejskimi.
Kolejne kroki / Więcej informacji
Kontynuuj naukę i ćwicz korzystanie z Cloud SQL i BigQuery w tych
laboratoriach Google Cloud Skills Boost:
Więcej informacji o badaniu danych znajdziesz w publikacji
Data Science on the Google Cloud Platform, 2nd Edition: O'Reilly Media,
Inc.
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: 19 marca 2026 r.
Ostatni test laboratorium: 19 marca 2026 r.
Copyright 2026 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.