arrow_back

BigQuery: Qwik Start – wiersz poleceń

BigQuery: Qwik Start – wiersz poleceń

30 godz. Bezpłatne

GSP071

Moduły Google Cloud do samodzielnego ukończenia

Podsumowanie

Przechowywanie ogromnych zbiorów danych i tworzenie do nich zapytań może być czasochłonne i drogie, jeśli nie ma się odpowiedniego sprzętu i infrastruktury. Google BigQuery to bezserwerowa, wysoce skalowalna chmurowa hurtownia danych, która rozwiązuje ten problem dzięki włączeniu bardzo szybkich zapytań SQL korzystających z mocy obliczeniowej infrastruktury Google. Wystarczy, że przeniesiesz swoje dane do BigQuery i całą ciężką pracę pozwolisz wykonać nam. Możesz kontrolować opcje dostępu zarówno do projektu, jak i do danych w zależności od wymagań Twojej firmy (takich jak potrzeba umożliwienia innym przeglądania danych lub wysyłania w związku z nimi zapytań).

Dostęp do BigQuery możesz uzyskać poprzez konsolę, interfejs internetowy lub narzędzie wiersza poleceń, korzystając z różnych bibliotek klienta, takich jak Java, .NET czy Python. Do interakcji z BigQuery możesz wykorzystać też rozwiązania oferowane przez licznych dostawców.

Z tego modułu praktycznego dowiesz się, jak używać bq, opartego na języku Python narzędzia wiersza poleceń w BigQuery, w celu tworzenia zapytań do tabel publicznych i wczytywania przykładowych danych w BigQuery.

Konfiguracja i wymagania

Konfiguracja Qwiklabs

Zanim klikniesz przycisk Start Lab (Rozpocznij moduł)

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

W tym praktycznym module Qwiklabs 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.

Wymagania

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

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome),
  • czas wymagany do ukończenia modułu.

Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module.

Uwaga: jeśli używasz Pixelbooka, uruchom ten moduł w oknie incognito.

Konsola Google Cloud Platform

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

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, 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;
    • 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. 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 z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.

  4. Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.

    Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  5. 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 wyświetlić menu z listą produktów i usług Google Cloud Console, w lewym górnym rogu kliknij menu nawigacyjne. Ikona menu nawigacyjnego

Aktywowanie Cloud Shell

Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud. Dzięki wierszowi poleceń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.

U góry Cloud Console, w pasku narzędzi po prawej stronie, kliknij przycisk Aktywuj Cloud Shell.

Ikona Cloud Shell

Kliknij Dalej.

cloudshell_continue.png

Uzyskanie dostępu do środowiska i połączenie się z nim może zająć kilka chwil. Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Przykład:

Terminal Cloud Shell

gcloud to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.

Aby wyświetlić listę aktywnych kont, użyj tego polecenia:

gcloud auth list

(Dane wyjściowe)

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)

(Przykładowe dane wyjściowe)

Credentialed accounts:
 - google1623327_student@qwiklabs.net

Aby wyświetlić identyfikator projektu, użyj tego polecenia:

gcloud config list project

(Dane wyjściowe)

[core]
project = <project_ID>

(Przykładowe dane wyjściowe)

[core]
project = qwiklabs-gcp-44776a13dea667a6

Analizowanie tabeli

BigQuery oferuje wiele przykładowych tabel, do których możesz wysyłać zapytania. W tym module wyślesz zapytania do tabeli shakespeare, która zawiera wpis dotyczący każdego słowa z każdej sztuki Szekspira.

Aby przeanalizować schemat tabeli Shakespeare w przykładowym zbiorze danych, uruchom polecenie:

bq show bigquery-public-data:samples.shakespeare

Oto co oznaczają poszczególne części tego polecenia:

  • bq pozwala na wywołanie narzędzia wiersza poleceń BigQuery,
  • show to akcja,
  • z kolei fragment bigquery-public-data:samples.shakespeare zawiera nazwę projektu w BigQuery oraz nazwę interesującej Cię tabeli.

Dane wyjściowe:

   Last modified                  Schema                 Total Rows   Total Bytes   Expiration   Time Partitioning   Clustered Fields   Labels
 ----------------- ------------------------------------ ------------ ------------- ------------ ------------------- ------------------ --------
  14 Mar 13:16:45   |- word: string (required)           164656       6432064
                    |- word_count: integer (required)
                    |- corpus: string (required)
                    |- corpus_date: integer (required)

Uruchamianie polecenia pomocy

Gdy do poleceń pomocy dołączysz nazwę polecenia, wyświetlą się dane na jego temat. Na przykład wywołanie pomocy bq help sprawia, że pobierane są informacje o poleceniu query.

bq help query

Aby zobaczyć listę wszystkich poleceń używanych przez bq, wystarczy uruchomić polecenie bq help.

Uruchamianie zapytania

Teraz uruchomisz zapytanie, aby sprawdzić, ile razy w dziełach Szekspira pojawia się podłańcuch „raisin”.

W tym celu użyj polecenia bq query "[SQL_STATEMENT]".

  • Jeśli wewnątrz [SQL_STATEMENT] pojawi się jakikolwiek cudzysłów, zmodyfikuj go, poprzedzając znakiem \.

  • Możesz też użyć innego cudzysłowu na zewnątrz [SQL_STATEMENT] (' zamiast ").

W Cloud Shell uruchom standardowe zapytanie SQL, aby policzyć liczbę wystąpień podłańcucha „raisin” we wszystkich dziełach Szekspira:

bq query --use_legacy_sql=false \
'SELECT
   word,
   SUM(word_count) AS count
 FROM
   `bigquery-public-data`.samples.shakespeare
 WHERE
   word LIKE "%raisin%"
 GROUP BY
   word'

W tym poleceniu:

  • --use_legacy_sql=false sprawia, że domyślną składnią zapytań jest standardowa wersja SQL.

Dane wyjściowe:

Waiting on job_e19 ... (0s) Current status: DONE
+---------------+-------+
|     word      | count |
+---------------+-------+
| praising      |     8 |
| Praising      |     4 |
| raising       |     5 |
| dispraising   |     2 |
| dispraisingly |     1 |
| raisins       |     1 |

Z danych w tabeli możemy wywnioskować, że choć samo słowo raisin nie występuje w żadnym dziele Szekspira, to w kilku pojawia się tworzący to słowo ciąg liter.

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do publicznego zbioru danych, wyświetli się odpowiedni wynik.

Uruchom zapytanie (zbiór danych: przykłady, tabela: shakespeare, podłańcuch: raisin)

Jeśli spróbujesz wyszukać słowo, które nie pojawia się w dziełach Szekspira, nie zostaną zwrócone żadne wyniki.

Uruchom polecenie wyszukania wyrazu „huzzah”, które nie zwróci dopasowań:

bq query --use_legacy_sql=false \
'SELECT
  word
FROM
  `bigquery-public-data`.samples.shakespeare
WHERE
  word = "huzzah"'

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do publicznego zbioru danych, wyświetli się odpowiedni wynik.

Uruchom zapytanie (zbiór danych: przykłady, tabela: shakespeare, podłańcuch: huzzah)

Tworzenie nowej tabeli

Teraz utworzysz własną tabelę. Każda tabela przechowywana jest w zbiorze danych. Zbiór danych to grupa zasobów, takich jak tabele i widoki.

Tworzenie nowego zbioru danych

Użyj polecenia bq ls, aby wyświetlić listę wszystkich zbiorów danych w projekcie:

bq ls

Powrócisz do wiersza poleceń, ponieważ w projekcie nie ma jeszcze żadnego zbioru danych.

Uruchom polecenie składające się z elementu bq ls, identyfikatora projektu bigquery-public-data oraz dwukropka (:), aby wyświetlić listę zbiorów danych w tym projekcie:

bq ls bigquery-public-data:

Dane wyjściowe:

           datasetId
 -----------------------------
  austin_311
  austin_bikeshare
  austin_crime
  austin_incidents
  austin_waste
  baseball
  bitcoin_blockchain
  bls
  census_bureau_construction
  census_bureau_international
  census_bureau_usa
  census_utility
  chicago_crime
  ...

Teraz utwórz zbiór danych. Nazwa zbioru danych może składać się z maksymalnie 1024 znaków i zawierać litery A–Z (albo a–z), cyfry 0–9 oraz podkreślenia, ale nie może zaczynać się liczbą lub podkreśleniem ani zawierać spacji.

W projekcie Qwiklabs użyj polecenia bq mk, by utworzyć nowy zbiór danych o nazwie babynames:

bq mk babynames

Przykładowe dane wyjściowe:

Dataset 'qwiklabs-gcp-ba3466847fe3cec0:babynames' successfully created.

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się utworzyć zbiór danych BigQuery o nazwie babynames, wyświetli się odpowiedni wynik.

Utwórz nowy zbiór danych (nazwa: babynames)

Uruchom polecenie bq ls, aby upewnić się, że zbiór danych jest teraz częścią Twojego projektu:

bq ls

Przykładowe dane wyjściowe:

 datasetId
 -------------
  babynames

Przesyłanie zbioru danych

Zanim utworzysz tabelę, musisz dodać zbiór danych do swojego projektu. Dostosowany plik, którego użyjesz, zawiera około 7 MB danych dotyczących popularnych imion dla dzieci (informacje zostały dostarczone przez US Social Security Administration, instytucję w Stanach Zjednoczonych zajmującą się ubezpieczeniami społecznymi).

Aby dodać plik ZIP z imionami dla dzieci do swojego projektu, uruchom następujące polecenie, korzystając przy tym z adresu URL pliku danych:

wget http://www.ssa.gov/OACT/babynames/names.zip

Wyświetl listę plików:

ls

Wyświetli się nazwa dodanego do projektu pliku.

Teraz rozpakuj plik:

unzip names.zip

To spora lista plików tekstowych. Ponownie wyświetl listę plików:

ls

Polecenie bq load pozwala w 1 kroku utworzyć lub zaktualizować tabelę oraz wczytać dane.

Użyjesz polecenia bq load w celu przesłania pliku źródłowego do nowej tabeli o nazwie names2010 (imiona_2010) w utworzonym przez Ciebie zbiorze danych babynames. Domyślnie procesy przebiegają synchronicznie i trwają kilka sekund.

Argumenty bq load, które uruchomisz, to:

datasetID: babynames
tableID: names2010
source: yob2010.txt
schema: name:string,gender:string,count:integer

Utwórz tabelę:

bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer

Przykładowe dane wyjściowe:

Waiting on job_4f0c0878f6184119abfdae05f5194e65 ... (35s) Current status: DONE

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się wczytać dane do tabeli zbioru danych, wyświetli się odpowiedni wynik.

Wczytaj dane do nowej tabeli

Uruchom bq lsbabynames, aby upewnić się, że tabela wyświetla się w zbiorze danych:

bq ls babynames

Dane wyjściowe:

  tableId    Type
 ----------- -------
  names2010   TABLE

Uruchom bq show i swoją tabelę zbioru danych dataset.table, aby wyświetlić schemat:

bq show babynames.names2010

Dane wyjściowe:

   Last modified         Schema         Total Rows   Total Bytes     Expiration      Time Partitioning   Clustered Fields   Labels
 ----------------- ------------------- ------------ ------------- ----------------- ------------------- ------------------ --------
  13 Aug 14:37:34   |- name: string     34073        654482        12 Oct 14:37:34
                    |- gender: string
                    |- count: integer
BigQuery domyślnie oczekuje danych w standardzie UTF-8. Jeśli wczytane przez Ciebie dane są w standardzie ISO-8859-1 (nazywanym też Latin-1), a mimo to masz z nimi problemy, możesz wymusić na BigQuery traktowanie ich jako danych w standardzie Latin-1, używając w tym celu flagi -E. Więcej informacji na ten temat znajdziesz na stronie o kodowaniu znaków.

Uruchamianie zapytań

Teraz możesz uruchomić zapytanie do danych i otrzymać interesujące wyniki.

Uruchom następujące polecenie, aby zobaczyć 5 najpopularniejszych imion dla dziewczynek:

bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5"

Dane wyjściowe:

Waiting on job_58c0f5ca52764ef1902eba611b71c651 ... (0s) Current status: DONE
+----------+-------+
|   name   | count |
+----------+-------+
| Isabella | 22913 |
| Sophia   | 20643 |
| Emma     | 17345 |
| Olivia   | 17028 |
| Ava      | 15433 |
+----------+-------+

Uruchom następujące polecenie, aby wyświetlić 5 najrzadszych imion dla chłopców.

bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5"

Uwaga: minimalna liczba to 5, ponieważ w danych źródłowych pomijane są imiona poniżej 5 wystąpień.

Dane wyjściowe:

Waiting on job_556ba2e5aad340a7b2818c3e3280b7a3 ... (1s) Current status: DONE
+----------+-------+
|   name   | count |
+----------+-------+
| Aaqib    |     5 |
| Aaidan   |     5 |
| Aadhavan |     5 |
| Aarian   |     5 |
| Aamarion |     5 |
+----------+-------+

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do dostosowanego zbioru danych, wyświetli się odpowiedni wynik.

Uruchom zapytania do tabeli zbioru danych

Sprawdź swoją wiedzę

Poniżej znajdziesz pytania jednokrotnego wyboru, które pomogą Ci utrwalić wiedzę zdobytą w tym module. Odpowiedz na nie najlepiej, jak potrafisz.

Czyszczenie danych

Uruchom polecenie bq rm, aby usunąć zbiór danych babynames przy użyciu flagi -r i usunąć wszystkie tabele w zbiorze danych.

bq rm -r babynames

Potwierdź polecenie usunięcia, wpisując „y” („tak”).

Testowanie ukończonego zadania

Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się usunąć zbiór danych babynames, wyświetli się odpowiedni wynik.

Usuń zbiór danych babynames

Gratulacje!

Już wiesz, jak używać wiersza poleceń w BigQuery do wykonywania operacji na danych.

BigQueryBasicsforWarehousing-125x135.png MarchMadness02_125.png BigQueryBasicsforDataAnalysts-125x135.png SDK-01_125.png BQ_Data_Analyst.png

Ukończ kurs

Ten moduł do samodzielnego ukończenia wchodzi w skład kursów Qwiklabs BigQuery for Data Warehousing (BigQuery do gromadzenia danych), NCAA® March Madness®: Bracketology with Google Cloud (NCAA® March Madness®: nawiasologia w Google Cloud), BigQuery Basics for Data Analysts (Podstawy BigQuery dla analityków danych) [przy użyciu wiersza poleceń Cloud SDK] (https://google.qwiklabs.com/quests/92) oraz BigQuery for Data Analysis (BigQuery do analizy danych). Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także podać do nich linki w swoim CV lub w mediach społecznościowych. Zapisz się na kurs, a natychmiast po jego ukończeniu otrzymasz odpowiednie potwierdzenie. Zobacz inne dostępne kursy Qwiklabs

Kolejne kroki / Więcej informacji

Ten moduł należy do serii modułów Qwik Start. Opracowano je tak, aby dać Ci przedsmak bogactwa funkcji dostępnych w Google Cloud. Wyszukaj „Qwik Start” w katalogu modułów i znajdź kolejny interesujący Cię moduł.

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 umiejętności i doświadczenia uzyskanego w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 18 kwietnia 2020 r.
Ostatni test modułu: 14 sierpnia 2019 r.

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