BigQuery – co to jest i jak zacząć? Tutorial

11/06/2020

Poradnik jak zacząć z BigQuery

Dane to nowe złoto – zdają sobie z tego sprawę firmy i organizacje nastawione na rozwój. Świadome biznesy prowadzą analizę istniejących procesów, wprowadzają zmiany i ulepszenia w oparciu o liczby. Niektóre idą dalej – korzystając z możliwości, jakie daje technologia, przewidują trendy, prawdopodobne zmiany na rynku, skutki jeszcze niepodjętych decyzji biznesowych.

Wraz z rozwojem biznesu poszerzają się zbiory danych – gigabajty zamieniają się w terabajty czy petabajty. By zachować odpowiedni poziom kosztów utrzymania narzędzia analitycznego oraz niedługi czas generowania raportów, należy zadbać o odpowiedni dobór technologii. Z nieocenioną pomocą przychodzi BigQuery – usługa dedykowana prowadzeniu analiz BigData, napędzająca wiele narzędzi analitycznych, między innymi popularne Google Analytics.

Co to jest BigQuery od Google?

To skalowalna hurtownia danych w chmurze (cloud data warehouse). Pozwala obsłużyć miliony zapytań (query) oraz prowadzić zaawansowaną analizę petabajtów danych w języku SQL, bez konieczności zamartwiania się kosztownym utrzymaniem zaawansowanej infrastruktury.

BigQuery jest jedną z usług dostępnych w Google Cloud Platform (GCP). Przechowywanie oraz procesowanie zestawów danych odbywa się w chmurze, na stabilnej, bezpiecznej i skalowalnej infrastrukturze GCP (tutaj dowiesz się więcej o tym, co to jest Google Cloud Platform i w jaki sposób wspiera biznes).

Z pomocą usługi można stworzyć własne narzędzie analityczne, które posłuży śledzeniu rozwoju, procesów czy zachodzących zmian – na przykład wewnątrz firmy lub wokół niej. W połączeniu z uczeniem maszynowym (ML – machine learning) pozwala zbudować system, który, przykładowo, będzie przewidywał wystąpienie różnych czynników oraz uwzględniał ich potencjalne skutki. BigQuery może również pomóc w optymalizacji wydajności oraz kosztów utrzymania już istniejącego systemu analizy BigData. 

Bezserwerowa technologia

BigQuery jest hurtownią danych w chmurze. Korzystając z usług Google Cloud Platform, można skupić się na skalowaniu biznesu i wyciąganiu z analityki tego, co najlepsze. Nie trzeba poświęcać dodatkowego czasu i budżetu na utrzymanie infrastruktury, prowadzenie aktualizacji czy zapewnienie odpowiedniego poziomu bezpieczeństwa serwerów.

Natychmiastowa analiza

Przetworzenie terabajtów danych zajmuje BigQuery sekundy, a jednego petabajta – około 3 minut. Hurtownie (warehouses) procesują duże zestawy danych nawet kilkudziesięciokrotnie szybciej niż systemy bazodanowe. Dzięki temu analitykę można prowadzić nawet w czasie rzeczywistym i obserwować zmiany “na żywo”.

Elastyczne koszty

Koszt usługi BigQuery dopasowuje się do aktualnych wymagań biznesowych. Jak w przypadku samego GCP, płaci się za zużycie. Przechowywanie danych (data storage) to koszt 20 USD/TB. Jeśli dane nie są przetwarzane przez 90 dni lub dłużej, pakiet zmienia się na długoterminowe przechowywanie (long-term storage), a cena usługi spada o 50%. Przetwarzanie danych to koszt 5 USD/TB, a pierwszy terabajt w każdym miesiącu jest darmowy.

Taki sposób wykonywania opłat przekłada się na TCO (total cost of ownership) niższe o średnio 30% w skali trzech lat niż w przypadku innych rozwiązań analizy BigData.

Brak ingerencji w kod źródłowy

Żeby korzystać z BigQuery, nie ma potrzeby wprowadzania dużych zmian czy przepisywania kodu źródłowego. To dzięki temu, że BigQuery wspiera standard ANSI SQL:2011 oraz zapewnia bezpłatnie interfejsy programowania ODBC i JDBC.

Automatyczna kopia zapasowa

Narzędzie wykonuje automatyczną kopię zapasową oraz przechowuje historię zmian przez 7 dni. Dzięki temu można łatwo porównać wyniki z poprzednim okresem lub przywrócić dane.

Analiza danych z różnych źródeł

Za pomocą BigQuery można prowadzić analizę danych pochodzących z różnych źródeł – z Google Marketing Platform, Google Analytics, YouTube oraz setek zewnętrznych aplikacji SaaS. Dane można też przenosić do BigQuery z rozwiązań infrastrukturalnych innych niż GCP.

Wsparcie dla machine learning (ML)

Jedną z dostępnych funkcji jest BigQuery ML, dedykowana tworzeniu i rozwijaniu możliwości uczenia maszynowego przy użyciu standardowych zapytań SQL. BigQuery ML zwiększa szybkość rozwoju produktów uwzględniających machine learning, ograniczając przy tym wymagania dotyczące pisania kodu źródłowego i przenoszenia danych.

Analityka biznesowa (BI)

BigQuery jest doskonałym narzędziem do prowadzenia analityki biznesowej (BI – business intelligence). Usługa pozwala analizować ogromne zbiory danych i tworzyć w ciągu kilku sekund rozbudowane raporty. Tak samo wspiera tworzenie raportów “ad hoc” – czyli takich, które obejmują pewien wycinek danych i nie wymagają angażowania działu analitycznego czy IT do przygotowania podsumowania.

W obu przypadkach raporty można przedstawić za pomocą narzędzi do wizualizacji danych takich jak Google Data Studio, Looker czy Tableau.

Przykłady użycia BigQuery

Oto przykłady, jak znane firmy wykorzystują możliwości BigQuery:

  • UPS zbiera codziennie dane na temat setek tysięcy przesyłek – między innymi o ich wadze, wymiarach, lokalizacji. Dzięki wykorzystaniu możliwości machine learning i analizy danych, firma jest w stanie bezbłędnie określić, jak załadować samochody dostawcze czy kontenery, by jak najbardziej zwiększyć efektywność. System pozwala też przygotować się do okresów zwiększonego ruchu – na przykład wokół Świąt;
  • 20th Century Fox korzysta z usług Google Cloud, w tym BigQuery i możliwości machine learning. Tworzy wzorce preferencji widzów i poddaje analizom zwiastuny filmów, by określić, jaką szansę powodzenia wśród odbiorców będzie miała dana produkcja;
  • Safari Books Online to internetowa biblioteka z milionami użytkowników, składająca się z ponad 30 tysięcy książek i filmów. Safari Books Online korzysta z BigQuery, by obsłużyć już posiadane dane oraz by w jak najlepszy sposób dopasować propozycje tytułów i najlepsze oferty pod konkretnych czytelników;
  • Dow Jones (DJIA) to jeden z największych indeksów giełdowych, w skład którego wchodzą takie spółki jak Apple, Amazon czy Boeing. Dow, wykorzystując BigQuery i ML, tworzy platformę Data, News & Analytics Platform (DNA), która pozwala firmom prowadzić analizę skutków wydarzeń – na przykład, jakie zmiany na giełdzie wywołał huragan Irma;
  • Spotify, z pomocą BigQuery sprawia, że użytkownik słyszy wybraną przez siebie piosenkę chwilę po wciśnięciu przycisku play. Nie byłoby w tym nic niezwykłego, gdyby nie fakt, że z platformy korzysta ponad 200 milionów użytkowników, a codziennie jest dodawanych 40 tysięcy nowych piosenek i nagrań.

Chcesz sprawdzić, czy Twoja firma jest gotowa na migrację do chmury? Weź udział w naszym badaniu i otrzymaj dedykowany raport, oceniający gotowość na cyfrową transformację: Are You Cloud Ready?

Jak zacząć z BigQuery? Poradnik krok po kroku

Żeby zacząć korzystać z BigQuery, musisz posiadać konto na Google Cloud Platform. Potrzebna jest Ci też znajomość SQL.

Wejdź na stronę konsoli Google.

Wybierz projekt, na którym będziesz pracować. Lista projektów znajduje się w rozwijanym menu obok nagłówka Google Cloud Platform.

jak zaczac z BigQuery krok 1

Po wybraniu projektu włącz Cloudshell w prawym górnym rogu.

jak zaczac z BigQuery krok 2

Otrzymasz taki widok:

jak zaczac z BigQuery krok 3

Aby sprawdzić, jak wygląda baza danych oraz przejrzeć ogólne informacje (schemat, ilość wierszy, wagę w bajtach), użyj poniższej komendy:

bq show bigquery-public-data:samples.shakespeare

Tak będzie wyglądał rezultat wywołania:

jak zaczac z BigQuery krok 4

W komendach bq będziemy używać flagi –use_leagcy_sql – ustawia ona standardowy SQL jako język zapytań.

Aby zwalidować i sprawdzić zapytanie (query), wystarczy dodać flagę dry_run. Tak wygląda przykładowe zapytanie z użyciem tej flagi:

bq query --use_legacy_sql=false --dry_run \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

jak zaczac z BigQuery krok 5

Jeśli zapytanie wysłane do bazy danych jest prawidłowe, można zobaczyć jego efekt usuwając flagę –dry_run

bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

Tak wygląda przykładowy wynik takiego zapytania:

jak zaczac z BigQuery krok 6

Aby wyodrębnić konkretne dane z rekordów, można użyć klauzuli where, która prowadzi selekcję według konkretnej wartości, reguły lub wyrażenia regularnego. Jeśli chcemy wyodrębnić z bazy tylko rekordy, które zawierają w kolumnie word słowo raising, wystarczy użyć poniższego zapytania:

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

W pierwszej kolejności należy przeprowadzić walidację zapytania.

jak zaczac z BigQuery krok 7

Następnie odpalić poniższą komendę, bez –dry_run:

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

jak zaczac z BigQuery krok 8

Jeśli chcemy sprawdzić, ile takich rekordów jest w bazie, należy użyć funkcji agregującej COUNT(rekord, który chcemy zliczyć). Zapytanie powinno wyglądać następująco:

bq query --use_legacy_sql=false \
'SELECT
COUNT(word) as num_of_words
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"’


Każdej tabeli można dodać własną nazwę używając słowa kluczowego as. W tym przypadku mamy nazwę opisującą, co zostało zagregowane w danej kolumnie. Wynik zapytania wygląda następująco:

jak zaczac z BigQuery krok 9

Załóżmy, że chcemy znaleźć wszystkie pozycje, które zawierają w sobie wyraz raisin. W tym przypadku należy użyć słowa kluczowego LIKE, które pomoże szukać według podanego klucza. 

Jeśli przed szukanym wyrazem postawimy znak %, system uwzględni też wyniki z prefiksem, np. dispraisin. Jeśli dodamy znak z obu stron, np. %raisin%, dostaniemy wyniki uwzględniające prefiks i sufiks, np. dispraisingly.

Gdy posiadamy więcej niż jedną kolumnę z funkcją agregującą, musimy wskazać polecaniem GROUP BY, według której kolumny chcemy grupować wiersze. 

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

Wynik zapytania wygląda następująco:

jak zaczac z BigQuery krok 10

Sprawdź za darmo Google Cloud Platform i BigQuery

O potencjale BigQuery najlepiej przekonać się w praktyce. Jeśli chcesz dowiedzieć się, jakie możliwości Tobie oraz Twojemu biznesowi dają rozwiązania Google Cloud (w tym opisywana usługa analityczna), skontaktuj się z certyfikowanym Google Cloud Premier Partner

Uzyskasz voucher o wysokości 500 USD na pierwsze działania na Google Cloud Platform, a specjaliści Fly On The Cloud pomogą Ci odkryć potencjał BigQuery.