arrow_back

BigQuery: Qwik Start – wiersz poleceń

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

BigQuery: Qwik Start – wiersz poleceń

Lab 30 godz. universal_currency_alt No cost show_chart Wprowadzające
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP071

Moduły Google Cloud do samodzielnego ukończenia

Opis

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. BigQuery to bezserwerowa, wysoce skalowalna chmurowa hurtownia danych, która rozwiązuje ten problem, pozwalając na bardzo szybkie wykonywanie zapytań SQL z wykorzystaniem 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ć przez 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.

Jakie zadania wykonasz

  • Tworzenie zapytania do publicznego zbioru danych
  • Tworzenie nowego zbioru danych
  • Wczytywanie danych do nowej tabeli
  • Tworzenie zapytania do tabeli niestandardowej

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 lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie oddatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module, aby uniknąć naliczania opłat na koncie.

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.

  1. Kliknij Aktywuj Cloud Shell Ikona aktywowania Cloud Shell na górze konsoli Google Cloud.

Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem PROJECT_ID dla tej sesji:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
  1. Kliknij Autoryzuj.

  2. Dane wyjściowe powinny wyglądać tak:

Dane wyjściowe:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcjonalnie) 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 Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.

Zadanie 1. 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órej wpisy to wszystkie słowa z każdej sztuki Szekspira.

Aby przeanalizować schemat szekspirowskiej tabeli 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 działanie,
  • 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)

Zadanie 2. Uruchamianie polecenia pomocy

Gdy do poleceń pomocy dołączysz nazwę polecenia, wyświetlą się dane na jego temat.

  1. Na przykład wywołanie pomocy bq help sprawia, że pobierane są informacje o poleceniu query:
bq help query
  1. Aby zobaczyć listę wszystkich poleceń używanych przez bq, wystarczy uruchomić polecenie bq help.

Zadanie 3. Uruchamianie zapytania

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

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

  1. 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 Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do publicznego zbioru danych, wyświetli się odpowiedni wynik.

Uruchomienie zapytania (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 Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do publicznego zbioru danych, wyświetli się odpowiedni wynik.

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

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

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

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

  1. W projekcie użyj polecenia bq mk, aby 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 Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się utworzyć zbiór danych BigQuery o nazwie babynames, wyświetli się odpowiedni wynik.

Utworzenie nowego zbioru 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. Plik z danymi niestandardowymi, 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).

  1. 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:
curl -LO http://www.ssa.gov/OACT/babynames/names.zip
  1. Wyświetl listę plików:
ls

Wyświetli się nazwa dodanego do projektu pliku.

  1. Teraz rozpakuj plik:
unzip names.zip
  1. To spora lista plików tekstowych. Ponownie wyświetl listę plików:
ls

Polecenie bq load pozwala w jednym 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
  1. 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 Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się wczytać dane do tabeli zbioru danych, wyświetli się odpowiedni wynik.

Wczytanie danych do nowej tabeli
  1. Uruchom bq ls na zbiorze babynames, aby sprawdzić, czy tabela wyświetla się w zbiorze danych:
bq ls babynames

Dane wyjściowe:

tableId Type ----------- ------- names2010 TABLE
  1. Zastosuj polecenie bq show do swojej tabeli 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 Uwaga: 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) i 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 na temat kodowania znaków dowiesz się z przewodnika wprowadzającego do ładowania danych.

Zadanie 5. Uruchamianie zapytań

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

  1. 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 | +----------+-------+
  1. 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 mające 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 Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się uruchomić zapytanie do niestandardowego zbioru danych, wyświetli się odpowiedni wynik.

Uruchomienie zapytań do tabeli zbioru danych

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

Zadanie 7. Czyszczenie danych

  1. 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
  1. Potwierdź polecenie usunięcia, wpisując Y.

Testowanie ukończonego zadania

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

Usunięcie zbioru danych babynames

Gratulacje!

Już wiesz, jak używać wiersza poleceń, aby tworzyć zapytania do tabel publicznych i wczytywać przykładowe dane w BigQuery.

Kolejne kroki / Więcej informacji

Ten moduł należy do serii modułów Qwik Start. Opracowaliśmy je, 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 Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 26 stycznia 2024 r.

Ostatni test modułu: 24 sierpnia 2023 r.

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