BigQuery – jak zacząć? Wprowadzenie dla nie-geeków
- Czym jest BigQuery?
- Dlaczego BigQuery?
- Zaczynamy! Krok 1 - rejestracja
- Krok 2 - tworzymy nowy projekt w Cloud Platform
- Pierwsze kroki w BigQuery
- Pierwsze zapytanie SQL w BigQuery
- Historia zapytań
Czym jest BigQuery?
Google BigQuery jest działającą w chmurze skalowalną hurtownią danych, zoptymalizowaną pod kątem szybkiej analizy dużych zbiorów danych - czyli szybką bazą danych, do której możesz wrzucić lub zaciągnąć swoje dane z różnych źródeł i sprawnie je przeanalizować, a przy tym nie przejmować się kwestiami sprzętu (w ogóle) czy konfiguracji (prawie wcale). Płacisz - najogólniej rzecz ujmując - za dane, które przeanalizujesz (przy czym pierwszy terabajt w miesiącu jest za darmo). Kwestią rozliczeń zajmiemy się bardziej szczegółowo w dalszej części tego artykułu :) Do pracy z danymi w samym BigQuery konieczna będzie znajomość języka SQL. Ratunkiem dla tych, którzy z SQL nie są za pan brat może okazać się podpięcie do BQ któregoś z licznych “wizualnych” narzędzi Business Intelligence, co pozwoli na analizę danych z BQ bez konieczności pisania zapytań w SQL-u.Dlaczego BigQuery?
BigQuery nie egzystuje w rynkowej próżni - istnieją rozwiązania mniej lub bardziej zbliżone zakresem funkcjonalności (jednym z przykładów może być Amazon Redshift), tak więc pytanie “Dlaczego?” jest jak najbardziej zasadne. Inna sprawa, że porównanie tych dwóch narzędzi jest tematem na osobny artykuł. Niemniej jednak, odpowiadając na postawione tu pytanie, można podejść do niego trojako: Po pierwsze - jeżeli Twoją główną motywacją jest po prostu chęć poznania i przetestowania jakiejś hurtowni danych w chmurze, to rozpoczęcie od BigQuery będzie dobrym pomysłem, ponieważ w porównaniu do Amazon Redshift, BQ zdejmuje z użytkownika konieczność zarządzania niskopoziomowymi zasobami (sprzęt, baza danych, konfiguracja), a przy tym może być wręcz darmowy lub bardzo tani - przynajmniej dopóki nie trzyma się w nim i nie przetwarza dużych (liczonych w terabajtach) zbiorów danych. Po drugie - jeżeli dopiero zastanawiasz się nad wyborem chmury obliczeniowej tego lub innego dostawcy, należałoby spojrzeć na temat szerzej niż tylko przez pryzmat pytania “BigQuery czy Redshift?”. Najbardziej sensowne wydaje się porównanie możliwości, oferty i wyceny całych platform, a przynajmniej tych ich składników, z których planujesz korzystać - nie tylko hurtowni danych, ale zapewne też rozwiązań storage’owych, obliczeniowych itd. Po trzecie - być może już dysponujesz danymi, udostępnionymi w ramach chmury obliczeniowej Google Cloud Platform (czyli w kwestii wyboru dostawcy chmury obliczeniowej postawiono Cię przed faktem dokonanym) - wtedy wykorzystanie BigQuery nasuwa się niejako samo przez się. Przykłady takich sytuacji to:- eksport surowych danych z Google Analytics 360 (tzw. BigQuery Export) - surowe dane z GA360 są eksportowane bezpośrednio do BQ
- eksport surowych danych z DoubleClick Campaign Managera (tzw. DoubleClick Data Transfer) - surowe dane z DCM są wystawiane w postaci plików CSV w przestrzeni Google Cloud Storage, skąd można zaimportować je do BQ
- eksport surowych danych z AdWords lub YouTube (AdWords/YouTube Data Transfer) - surowe dane z AW/YT są eksportowane bezpośrednio do BQ
- integracja danych udostępnionych w BQ (dane z GA, DoubleClicka, AdWords, YouTube) z innymi danymi, niejako “zewnętrznymi” - np. danymi z CRM/sprzedażowymi
- wykorzystanie BQ jako bazodanowego zaplecza dla narzędzia BI (Tableau, Qlik, Data Studio), w którym przygotowywane są raporty/dashboardy oparte o dane zgromadzone w BQ
Zaczynamy! Krok 1 - rejestracja
Zanim zaczniemy pracować w BigQuery, konieczne będzie przejście procesu bezpłatnej rejestracji na platformie Google Cloud Platform:- potrzebne będzie zalogowanie z kontem Google
- wymagane jest podanie numeru karty kredytowej w celu weryfikacji tożsamości, choć żadne opłaty nie zostaną pobrane, dopóki świadomie (ręcznie) nie zdecydujemy się na przejście na płatne konto
- na osłodę dostaniemy 300 USD do wykorzystania na całej platformie GCP przez najbliższe 12 miesięcy




Krok 2 - tworzymy nowy projekt w Cloud Platform
Dlaczego w ogóle lądujemy w konsoli GCP, a nie od razu w BigQuery? Wynika to z faktu, że BQ jest częścią całej chmury obliczeniowej Google (czyli Google Cloud Platform). Zasoby BigQuery, z którymi będziemy pracować, nie lewitują w próżni - są przyporządkowane do poszczególnych projektów Google Cloud Platform. Projekt jest podstawowym poziomem organizacji zasobów w Google Cloud Platform:- na poziomie projektu przypisujemy narzędzia GCP, z których będziemy w tym projekcie korzystać (np. BigQuery, Compute Engine, Machine Learning Engine)
- na poziomie projektu dokonywana jest wycena wykorzystania zasobów GCP i generowana ewentualna płatność



Pierwsze kroki w BigQuery
Dostęp do BigQuery z poziomu przeglądarki internetowej jest najprostszym sposobem korzystania z usługi i to jemu poświęcimy dalszą część tego przewodnika. Bardziej zaawansowane możliwości daje praca z wykorzystaniem komendy “bq” w linii poleceń Cloud Platform - dzięki temu mamy możliwość tworzenia skryptów automatyzujących operacje na danych. Okno BigQuery w przeglądarce dzieli się na 2 części - lewa pełni rolę nawigacyjną, w prawej tworzymy i wykonujemy zapytania i wyświetlamy ich wyniki. Nadrzędnym poziomem organizacji w BigQuery jest nadal projekt GCP - aktualnie wybrany projekt jest widoczny w lewej części okna BQ. Natomiast w samym BigQuery dane zorganizowane są w tzw. zbiory danych (ang. datasets). Zbiór danych (dataset) zawiera różne tabele danych. Nowo stworzony projekt nie zawiera w BigQuery żadnych własnych datasetów, ale już od pierwszej chwili mamy dostęp do datasetów udostępnionych publicznie - Google utrzymuje te dane na swój koszt, a użytkownik BQ ponosi jedynie koszt zapytań wykonywanych na tych danych (przy czym pierwszy TB danych przetworzonych w miesiącu jest darmowy). Publiczne datasety możemy przeglądać w lewej części okna, w sekcji “Public datasets”. Po kliknięciu w nazwę datasetu, w prawej części okna wyświetlą się informacje o tym zbiorze danych - w przypadku własnych datasetów, można w tym miejscu dodać np. swój opis datasetu. Po kliknięciu w nazwę datasetu w lewej części okna, rozwija się lista tabel, które ten dataset zawiera. Z kolei kliknięcie na nazwę tabeli powoduje załadowanie szczegółowych informacji o tej tabeli:
- Schema - struktura tabeli, czyli informacja o kolumnach tabeli: nazwach kolumn, typie danych w kolumnach, ewentualnie także opcjonalny opis każdej z kolumn
- Details - opcjonalny opis tabeli, a także informacje o rozmiarze tabeli, liczbie wierszy, lokalizacji danych itp.
- Preview - podgląd danych w tabeli
Pierwsze zapytanie SQL w BigQuery
Żeby wykonać zapytanie SQL w BigQuery, należy najpierw wcisnąć czerwony przycisk “Compose Query” w lewej części okna - zostanie otwarte puste okno tworzenia zapytania. Drugi sposób to przycisk “Query Table” na ekranie ze szczegółami konkretnej tabeli - również po jego kliknięciu otworzy się okno tworzenia zapytania SQL, ale będzie w nim wprowadzony szkielet zapytania odpytującego tę konkretną tabelę:


- pobrania danych wynikowych w formie CSV albo JSON
- zapisania danych wynikowych do arkusza Google Sheets (czyli na Dysk Google)
- zapisania danych wynikowych jako nowej tabeli w BigQuery, w wybranym projekcie, datasecie i tabeli o podanej nazwie:

- Explanation - znajdziemy tu tzw. plan zapytania dla wykonanego zapytania SQL, pomagający w optymalizacji wydajności i kosztu zapytań
- Job Information - szczegółowe informacje o wykonanym zapytaniu, m.in. o ilości danych przeprocesowanych, wliczonych do naszego rachunku za korzystanie z BigQuery
Historia zapytań
BigQuery przechowuje historię wykonanych zapytań - jeżeli jakieś zapytanie wykonujemy po raz kolejny, jego wyniki są ładowane z cache, a my nie ponosimy kosztów wykonania tego zapytania. Historię zapytań można przeglądać, klikając pozycję “Query History” w lewej części okna. Spowoduje to załadowanie listy wykonywanych wcześniej zapytań wraz z informacją o dacie i czasie wykonania i przyciskiem “Open Query”, pozwalającym na ponowne wykonanie zapytania z listy. W BQ mamy także możliwość zapisania i współdzielenia konkretnego zapytania - służy do tego przycisk “Save Query” na ekranie tworzenia zapytania. Jego kliknięcie wyświetli okienko, w którym możemy podać nazwę zapisywanego zapytania, a także ustawić opcje widoczności: prywatne, na poziomie projektu, publiczne:
A ile to będzie kosztować?
W BigQuery opłatom podlegają:- zapytania - płaci się za liczbę bajtów przeprocesowanych przez zapytanie
- pierwszy 1 TB danych przeprocesowanych w miesiącu jest bezpłatny
- za następne płaci się po 5 USD za 1 TB przeprocesowanych danych
- zapytania, których wykonanie zostało przerwane, są nadal rozliczane na takich zasadach, jak pozostałe zapytania
- w projektach o dużym wolumenie danych i zapytań możliwe jest rozliczanie w oparciu o płaską stawkę
- przechowywanie danych - płaci się z dokładnością do 1 MB przechowywanego przez 1 sekundę
- pierwsze 10 GB danych przechowywanych w miesiącu jest bezpłatne
- za kolejne dane przechowywane w chmurze płaci się 0,02 USD za 1 GB za miesiąc
- jeżeli tabela nie jest edytowana przez 90 dni, zaczyna być traktowana jako “long term storage” i opłata za nią spada do 0,01 USD za 1 GB za miesiąc
- nie podlegają opłatom operacje: ładowania danych do BQ, kopiowania danych, eksportowania danych z BQ
Co dalej?
Kiedy masz już za sobą pierwsze kroki w BigQuery, rodzi się naturalne pytanie “Co dalej” :) Na pewno warto nauczyć się SQL-a, bo bez niego trudno będzie wykorzystać wszystkie możliwości, jakie daje BigQuery. W tym miejscu istotna uwaga - BigQuery używa 2 dialektów SQL-a:- tzw. “legacy SQL” - własnego, starszego dialektu, który może w niektórych miejscach różnić się od standardowego SQL
- standard SQL, zgodnego z SQL 2011
- książka “Data Science on the Google Cloud Platform”
- blog Google Cloud Platform
- blog Google Cloud Big Data & Machine Learning
Podobał ci się artykuł, podziel się nim na:
Zmieńmy razem świat e‑commerce!
Zawsze chętnie odpowiemy na Twoje pytania. Zapraszamy do kontaktu.
Zadaj pytanie