Punkty kontrolne
Query BigQuery and log results to Sheet
/ 100
Wykorzystanie Prezentacji do przedstawienia rezultatów analizy big data
GSP240
Opis
Badacze danych mają dostęp do wielu narzędzi, które pozwalają na przeprowadzanie analiz big data. Narzędzia te nie dają jednak możliwości odpowiedniego objaśniania lub uzasadniania wyników tych analiz kierownictwu i innym zainteresowanym osobom. Zaprezentowanie takiemu gronu jedynie kolumn liczb na papierze lub w tabeli bazy danych raczej się nie sprawdzi. Z tego modułu dotyczącego Google Apps Script dowiesz się więc, jak nadawać analizom danych formę nadającą się do skutecznej prezentacji, korzystając z 2 platform Google dla programistów: Workspace i Google Cloud.
Narzędzia dla programistów Google Cloud umożliwiają zbieranie i analizę danych. Potem za pomocą slajdów i arkuszy kalkulacyjnych możesz stworzyć prezentację, która nie tylko będzie bardzo atrakcyjna, ale przede wszystkim przekona zarząd i inne zainteresowane osoby do wyciągniętych przez Ciebie wniosków.
W tym module poznasz dostępny w Google Cloud (jako zaawansowana usługa Apps Script) interfejs API BigQuery oraz wbudowane usługi Apps Script w Arkuszach Google i Prezentacjach Google.
W module realizowany jest scenariusz, który mógłby wystąpić w rzeczywistości. W użytej aplikacji zastosowano funkcje i interfejsy API pochodzące z wielu usług Google Cloud. Chcemy Ci pokazać, jak można wykorzystać możliwości Google Cloud i Workspace do rozwiązywania skomplikowanych problemów, z którymi borykają się Twoja organizacja lub klienci.
Czego się nauczysz
- Jak używać Google Apps Script z wieloma usługami Google
- Jak za pomocą BigQuery przeprowadzać analizy big data
- Jak utworzyć arkusz Google i zapełnić go danymi, a także jak utworzyć wykres na podstawie danych z arkusza kalkulacyjnego
- Jak przenieść wykres i dane z arkusza kalkulacyjnego do osobnych slajdów Prezentacji Google
Konfiguracja
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).
- Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Wstęp
Google Apps Script i BigQuery
Google Apps Script to rozwiązanie programistyczne dla narzędzi Workspace, które pozwala działać na wyższym poziomie niż interfejsy API Google typu REST. Jest to bezserwerowe środowisko do programowania i hostingu aplikacji, odpowiednie dla programistów o bardzo różnym poziomie zaawansowania. Apps Script można opisać jednym zdaniem jako bezserwerowe środowisko wykonawcze języka JavaScript służące do automatyzacji, rozszerzania i integracji funkcji Workspace.
Jako implementacja języka JavaScript po stronie serwera Apps Script przypomina Node.js. Jednak w przeciwieństwie do tego środowiska wykonawczego, które wykorzystywane jest do szybkiego, asynchronicznego hostingu aplikacji opartego na zdarzeniach, Apps Script służy do programowania rozwiązań w ścisłej integracji z Workspace i innymi usługami Google. Ponadto środowisko programistyczne Apps Script może całkowicie różnić się od innych używanych przez Ciebie do tej pory. Apps Script umożliwia:
- programowanie w edytorze kodu działającym w przeglądarce oraz możliwość pracy lokalnej i późniejszego przesłania plików do Apps Script przy użyciu narzędzia wiersza poleceń clasp;
- tworzenie kodu w wyspecjalizowanej wersji języka JavaScript, zapewniającej dostęp do Workspace oraz innych usług Google lub pozostałych firm (za pomocą narzędzi Apps Script URLfetch lub Jdbc);
- pominięcie ręcznego pisania kodu autoryzacji, ponieważ Apps Script zapewnia jego obsługę;
- rezygnację z hostowania utworzonej aplikacji – będzie ona działać na serwerach Google w chmurze.
Apps Script współpracuje z innymi technologiami Google na 2 różne sposoby:
- jako usługa wbudowana,
- jako usługa zaawansowana.
Usługa wbudowana udostępnia metody wysokiego poziomu zapewniające dostęp do danych Workspace i usług Google oraz inne przydatne metody narzędziowe. Usługa zaawansowana to tylko cienka otoka dla API typu REST w aplikacji Workspace lub innej usłudze Google. Usługi zaawansowane umożliwiają użycie wszystkich funkcji typowych dla interfejsu API typu REST i często ich możliwości są większe niż usług wbudowanych, ale wymagają one bardziej skomplikowanego kodu (wciąż jednak są łatwiejsze w obsłudze niż API REST).
Użycie usług zaawansowanych wymaga ich wcześniejszego włączenia w projekcie skryptu. Wszędzie tam, gdzie to możliwe, preferowane jest korzystanie z usług wbudowanych, ponieważ są łatwiejsze w użyciu i wykonują za programistów więcej złożonych zadań niż usługi zaawansowane. Jednak niektóre interfejsy API Google nie mają usług wbudowanych i w takiej sytuacji użycie usługi zaawansowanej może być jedyną możliwością. Takim przykładem jest BigQuery. Dostępna jest tylko usługa zaawansowana BigQuery – nie ma żadnej usługi wbudowanej. To i tak lepiej, niż gdyby nie było ich wcale.
Dostęp do Arkuszy i Prezentacji Google z poziomu Apps Script
Usługa BigQuery jest dostępna tylko jako usługa zaawansowana Apps Script. Jednak zarówno Arkusze, jak i Prezentacje Google mają usługi wbudowane Apps Script oraz usługi zaawansowane, na przykład pozwalające na korzystanie z funkcji, które są dostępne wyłącznie w interfejsie API. Jeśli tylko jest to możliwe, wybieraj usługę wbudowaną zamiast równoważnej usługi zaawansowanej. Usługi wbudowane udostępniają konstrukcje wyższego poziomu i wygodne wywołania, które upraszczają programowanie.
Zadanie 1. Tworzenie zapytania BigQuery i zapisywanie wyników w pliku Arkuszy Google
To pierwsze zadanie obejmuje dużą część tego modułu. Gdy zakończysz tę sekcję, zostanie Ci jeszcze mniej więcej połowa całego dostępnego materiału.
W tej sekcji:
- Rozpoczniesz nowy projekt Google Apps Script.
- Włączysz dostęp do usługi zaawansowanej BigQuery.
- Otworzysz edytor programistyczny i wpiszesz kod źródłowy aplikacji.
- Przejdziesz proces autoryzacji aplikacji (OAuth2).
- Uruchomisz aplikację wysyłającą żądanie do BigQuery.
- Wyświetlisz nowy arkusz Google utworzony na podstawie wyników pochodzących z BigQuery.
Tworzenie nowego projektu Apps Script
- Aby utworzyć nowy projekt Apps Script, wejdź na script.google.com. Na potrzeby tego modułu kliknij Utwórz Apps Script.
- Otworzy się edytor kodu Apps Script:
-
Nazwij swój projekt, klikając nazwę projektu u góry (na grafice powyżej jest to „Untitled project”, czyli projekt bez nazwy).
-
W oknie Zmień nazwę projektu wpisz wybraną nazwę projektu (np. „BigQuery”, „Arkusze”, „wersja demonstracyjna Prezentacji”), a potem kliknij Zmień nazwę.
Włączanie usługi zaawansowanej BigQuery
Włącz w swoim nowym projekcie usługę zaawansowaną BigQuery i włącz BigQuery API.
- Kliknij ikonę dodawania usług obok opcji Usługi.
- W oknie Dodaj usługę wybierz odpowiednie usługi i interfejsy APIs.
- Otwórz konsolę Cloud i kliknij Menu nawigacyjne > Interfejsy API i usługi > Biblioteka.
- W polu wyszukiwania wpisz lub wklej BigQuery API, a potem kliknij BigQuery API.
- Jeśli trzeba, kliknij Włącz, aby włączyć BigQuery API.
-
Wróć do swojego projektu. Okno Dodaj usługę powinno być wciąż otwarte.
-
Wybierz BigQuery API i kliknij Dodaj, aby zamknąć okno.
Wpisywanie i uruchamianie kodu aplikacji
Możesz teraz wpisać kod aplikacji, przejść przez proces autoryzacji i zobaczyć swoją aplikację po raz pierwszy w działaniu.
- Skopiuj kod znajdujący się w polu poniżej i wklej go w edytorze kodu, zastępując całą wcześniejszą zawartość:
-
Zapisz utworzony plik, wybierając ikonę zapisywania projektu na pasku menu lub naciskając Ctrl + S.
-
Zmień nazwę pliku, wybierając 3 kropki obok jego nazwy i klikając Zmień nazwę.
- Zmień nazwę pliku na bq-sheets-slides.gs i naciśnij Enter.
Co robi ten kod? Wiesz, że wykonuje zapytanie BigQuery i zapisuje wyniki w nowym arkuszu Google. Ale co to za zapytanie?
- Spójrz na kod zapytania w funkcji
runQuery()
:
To zapytanie przeszukuje dzieła Szekspira (część publicznego zbioru danych BigQuery) i generuje 10 słów najczęściej występujących we wszystkich jego tekstach, posortowanych pod względem częstotliwości występowania w kolejności malejącej. Jeśli wyobrazisz sobie, ile wysiłku trzeba włożyć, by zrobić to ręcznie, z łatwością przekonasz się o przydatności BigQuery.
Prawie gotowe. W zmiennej PROJECT_ID
na początku pliku bq-sheets-slides.gs
musisz jeszcze wstawić prawidłowy identyfikator projektu.
- Zastąp ciąg znaków
<YOUR_PROJECT_ID>
identyfikatorem projektu znajdującym się w panelu po lewej stronie.
Oto przykładowy kod z przykładowym identyfikatorem projektu. Rzeczywista wartość zmiennej PROJECT_ID w Twoim projekcie będzie inna.
Przykładowy kod:
if
służy do tego, by działanie aplikacji nie było kontynuowane bez identyfikatora projektu.
-
Zapisz plik i uruchom kod, klikając Uruchom na pasku menu.
-
Potem kliknij Przejrzyj uprawnienia.
Wyjątek: usługa BigQuery API nie została włączona w projekcie zarządzanym przez Apps Script(...)
, usuń usługę BigQuery API i dodaj ją jeszcze raz.- W oknie Choose an account from qwiklabs.net kliknij swoją nazwę użytkownika i kliknij Zezwól.
- Po uruchomieniu funkcji u góry wyświetli się pole wiadomości.
Pole wiadomości znika po zakończeniu działania funkcji, więc jeśli go nie widzisz, być może funkcja została już wykonana.
- Otwórz swój Dysk Google i znajdź nowy arkusz Google o nazwie Most common words in all of Shakespeare's works (Słowa występujące najczęściej we wszystkich dziełach Szekspira) lub innej przypisanej do zmiennej
QUERY_NAME
:
- Otwórz arkusz kalkulacyjny. Powinien zawierać 10 wierszy ze słowami i ich łącznymi liczbami wystąpień, posortowanymi w kolejności malejącej:
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Podsumowanie
Co się przed chwilą stało? Udało Ci się uruchomić kod, który przeszukał wszystkie dzieła Szekspira. (Ilość danych może nie jest OLBRZYMIA, ale z pewnością tekstu jest więcej, niż można w rozsądnym czasie samodzielnie przeczytać, licząc wystąpienia poszczególnych słów w każdej sztuce, by na koniec posortować je w kolejności malejącej). Większość pracy wykonała za Ciebie usługa BigQuery, a za przygotowanie danych do łatwego użycia w Arkuszach Google odpowiada usługa wbudowana w Apps Script.
Zanim uruchomisz zapytanie w Apps Script, zawsze możesz je przetestować w konsoli BigQuery. Interfejs użytkownika usługi BigQuery jest dostępny dla programistów.
- Otwórz konsolę Cloud i kliknij Menu nawigacyjne > BigQuery.
- W oknie Witamy w usłudze BigQuery w konsoli Cloud kliknij GOTOWE.
Otworzy się konsola BigQuery.
- Wpisz swój kod w edytorze zapytań i kliknij Uruchom:
Zadanie 2. Tworzenie wykresu w Arkuszach Google
Wróć do edytora skryptów. Na razie masz gotową aplikację, która przeszukuje dzieła Szekspira, sortuje wyniki i wyświetla je w Arkuszach. Funkcja runQuery()
w kodzie komunikuje się z BigQuery i wysyła wyniki do arkusza. Teraz dodasz kod, który tworzy wykres na podstawie danych. W tej sekcji utworzysz nową funkcję o nazwie createColumnChart()
, która wywołuje metodę newChart()
arkusza w celu utworzenia wykresu z danymi.
Funkcja createColumnChart()
pobiera arkusz z danymi i wysyła żądanie utworzenia wykresu kolumnowego zawierającego wszystkie dane. Początek zakresu danych to komórka A2, ponieważ pierwszy wiersz zawiera nagłówki kolumn, a nie dane.
- Utwórz wykres: dodaj funkcję
createColumnChart()
do plikubq-sheets-slides.gs
zaraz po funkcjirunQuery()
{za ostatnim wierszem kodu}:
-
Zwróć arkusz kalkulacyjny: w kodzie przedstawionym powyżej funkcja
createColumnChart()
wymaga obiektu spreadsheet (arkusz kalkulacyjny), dlatego dostosuj aplikację w taki sposób, by zwracała obiektspreadsheet
, który można przekazać do funkcjicreateColumnChart()
. Po zalogowaniu pomyślnego utworzenia arkusza Google zwróć obiekt na końcu funkcjirunQuery()
. -
Zastąp ostatni wiersz (zaczynający się od Logger.log) tym fragmentem kodu:
- Wykorzystaj funkcję
createBigQueryPresentation()
: bardzo dobrym pomysłem jest logiczne oddzielenie funkcji wykonywania zapytania BigQuery od funkcji tworzenia wykresu. Utwórz funkcjęcreateBigQueryPresentation()
, która będzie realizować działanie aplikacji, wywołując zarówno zapytanie, jak i funkcjęcreateColumnChart()
. Dodaj kod podobny do tego:
- Umieść funkcję
createBigQueryPresentation()
zaraz za tym blokiem kodu:
- Przygotuj kod do możliwości wielokrotnego użycia: powyżej wykonywane są 2 ważne kroki – zwracany jest obiekt arkusza kalkulacyjnego i tworzona jest funkcja odpowiedzialna za działanie aplikacji. Łatwo sobie wyobrazić, że ktoś chciałby skorzystać z funkcji
runQuery()
, ale bez konieczności logowania URL-a.
Jeśli chcesz, by funkcja runQuery()
była bardziej uniwersalna, możesz przenieść w inne miejsce wiersz logowania. Które miejsce byłoby najlepsze? Jeśli uważasz, że najlepiej byłoby umieścić ją w ramach funkcji createBigQueryPresentation()
, to masz rację.
Po przeniesieniu wiersza logowania funkcja powinna wyglądać podobnie do tej:
Po wprowadzeniu powyższych zmian Twój plik bq-sheets-slides.js
powinien wyglądać podobnie do tego (naturalnie z wyjątkiem zmiennej PROJECT_ID
):
-
Zapisz plik.
-
Na pasku menu kliknij runQuery i wybierz z menu createBigQueryPresentation.
-
Następnie kliknij Uruchom.
Po uruchomieniu na Twoim Dysku Google pojawi się kolejny arkusz Google, ale tym razem obok danych będzie zawierał wykres:
Zadanie 3. Umieszczanie wyników w prezentacji
W ostatniej części modułu utworzysz nową prezentację Google: wpiszesz tytuł i podtytuł na slajdzie tytułowym, a potem dodasz 2 nowe slajdy – jeden ze wszystkimi komórkami danych, a drugi z wykresem.
- Utwórz prezentację: zacznij od utworzenia nowej prezentacji, następnie dodaj tytuł i podtytuł na domyślnym slajdzie tytułowym, który mają wszystkie nowe prezentacje. Wszystkie operacje związane z prezentacją są wykonywane w funkcji
createSlidePresentation()
,
którą dodasz do plikubq-sheets-slides.gs
zaraz za kodem funkcjicreateColumnChart()
:
- Dodaj tabelę danych: następnym krokiem w funkcji
createSlidePresentation()
jest zaimportowanie danych z komórek arkusza Google do nowej prezentacji. Dodaj ten fragment kodu do funkcjicreateSlidePresentation()
:
- Zaimportuj wykres: ostatnim krokiem w funkcji
createSlidePresentation()
jest utworzenie kolejnego slajdu, zaimportowanie wykresu z arkusza kalkulacyjnego i zwrócenie obiektuPresentation
. Dodaj do funkcji ten ostatni fragment kodu:
- Zwróć wykres: teraz gdy ostatnia funkcja jest gotowa, jeszcze raz przyjrzyj się jej deklaracji. Tak, funkcja
createSlidePresentation()
wymaga przekazania obiektów spreadsheet (arkusz kalkulacyjny) i chart (wykres). Skorygowaliśmy już funkcjęrunQuery()
tak, że zwraca obiektSpreadsheet
, a teraz trzeba wprowadzić podobną zmianę do funkcjicreateColumnChart()
– musi ona zwracać obiekt wykresu (EmbeddedChart
). Cofnij się w kodzie aplikacji i dodaj jeszcze jeden wiersz na końcu funkcjicreateColumnChart()
:
- Zaktualizuj funkcję
createBigQueryPresentation()
: ponieważ funkcjacreateColumnChart()
zwraca wykres, musisz zapisać ten wykres w zmiennej i przekazać do funkcjicreateSlidePresentation()
obydwa obiekty: spreadsheet (arkusz kalkulacyjny) i chart (wykres). Logujesz URL nowo utworzonego arkusza kalkulacyjnego, dlatego możesz również logować URL nowej prezentacji. Zastąp ten blok kodu:
Tym blokiem:
Po wszystkich aktualizacjach plik bq-sheets-slides.gs
powinien wyglądać podobnie do tego (z wyjątkiem zmiennej PROJECT_ID
):
bq-sheets-slides.gs - final version
- Zapisz i jeszcze raz uruchom funkcję
createBigQueryPresentation()
. Zanim się wykona, jeszcze raz pojawi się prośba o ustawienie uprawnień do wyświetlania prezentacji Google i zarządzania nimi. - Przejdź do folderu Mój dysk. Zobaczysz, że oprócz utworzonego arkusza jest w nim także nowa prezentacja zawierająca 3 slajdy (tytułowy, z tabelą danych i z wykresem danych) podobne do przedstawionych poniżej:
Gratulacje!
Udało Ci się utworzyć aplikację wykorzystującą obie funkcjonalności Google Cloud. Zapytanie BigQuery przeszukało jeden z publicznych zbiorów danych, wyniki tego zapytania zostały zapisane w nowym arkuszu Google, dodany został wykres utworzony na podstawie pobranych danych, a na koniec powstała prezentacja Google zawierająca wyniki zapytania w postaci arkusza kalkulacyjnego oraz wykresu.
Tak to wygląda z technicznego punktu widzenia. Mówiąc prościej, analiza dużego zbioru danych została przekształcona do postaci, którą łatwo zaprezentować wszystkim zainteresowanym. Zostało to wykonane przy użyciu kodu i w zautomatyzowany sposób. Teraz możesz dostosować ten moduł do własnych projektów.
Ukończ kurs
Ten moduł do samodzielnego ukończenia jest częścią kursów Workspace: Integrations for Data i BigQuery Basics for Data Analysts. 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. Zarejestruj się na dowolny kurs zawierający ten moduł, a zostanie on automatycznie zaliczony. Wszystkie dostępne kursy znajdziesz w katalogu Google Cloud Skills Boost.
Poszukujesz modułu praktycznego typu Challenge Lab (moduł-wyzwanie), aby wykazać się nowymi umiejętnościami i sprawdzić swoją wiedzę w zakresie BigQuery? Po ukończeniu kursu przejdź ten moduł Challenge Lab, aby otrzymać cyfrową odznakę Google Cloud.
Więcej informacji
Kod zaprezentowany w tym module jest również dostępny na GitHubie. Staramy się na bieżąco uwzględniać w tym module wszystkie zmiany wprowadzane w repozytorium. Poniżej znajdziesz dodatkowe zasoby, pozwalające pogłębić informacje przedstawione w tym module i poznać inne sposoby korzystania z narzędzi Google dla programistów.
Dokumentacja
- Strona dokumentacji poświęconej Google Apps Script
- Apps Script – usługa Arkuszy Google
- Apps Script – usługa Prezentacji Google
- Apps Script – zaawansowana usługa BigQuery
Filmy dotyczące zagadnień powiązanych i ogólnych
- Another Google (Apps) secret (Kolejny sekret Google (Apps)) – film wprowadzający do Apps Script
- Accessing Google Maps from a spreadsheet (Dostęp do Map Google z poziomu arkusza kalkulacyjnego) – film
- Biblioteka filmów o korzystaniu z Google Apps Script
- Cykl filmów Launchpad Online
- Cykl filmów The Google Workspace Dev Show
Najnowsze informacje dotyczące zagadnień powiązanych i ogólnych
- BigQuery integrates with Google Drive (Integracja Google BigQuery z Dyskiem Google, artykuły z 2016 roku: link1, link2)
- Blog dla programistów Google Developers
- Blog poświęcony Google Cloud Platform
- Blog Google Cloud poświęcony big data i systemom uczącym się
- Konto na Twitterze Google Developers (@GoogleDevs)
- Blog dla programistów Workspace Developers
- Konto na Twitterze Workspace developers (@GSuiteDevs)
- Miesięczny newsletter dla deweloperów Workspace
- Centrum edukacji Google Workspace
Ostatnia aktualizacja instrukcji: 6 marca 2023 r.
Ostatni test modułu: 6 marca 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.