Używanie BigQuery do wysyłania zapytań dotyczących danych GitHub

1. Wprowadzenie

BigQuery to w pełni zarządzana, ekonomiczna, w pełni zarządzana analityczna baza danych Google. Dzięki BigQuery możesz wykonywać zapytania obejmujące nawet terabajty danych bez konieczności zarządzania bazami danych czy zarządzania infrastrukturą. BigQuery korzysta ze znanego języka SQL i modelu naliczania opłat tylko za to, czego używasz. Pracując w BigQuery, możesz skoncentrować się na analizowaniu danych i wyciąganiu z nich znaczących wniosków.

Z tego ćwiczenia w Codelabs dowiesz się, jak tworzyć zapytania do publicznego zbioru danych GitHub – jednego z wielu dostępnych publicznych zbiorów danych dostępnych w BigQuery.

Czego się nauczysz

  • Korzystanie z BigQuery
  • Jak napisać zapytanie pozwalające uzyskać wgląd w duży zbiór danych

Czego potrzebujesz

2. Konfiguracja

Włączanie BigQuery

Jeśli nie masz jeszcze konta Google (w Gmailu lub Google Apps), musisz je utworzyć.

  • Zaloguj się w konsoli Google Cloud Platform ( console.cloud.google.com) i otwórz BigQuery. Możesz też otworzyć interfejs internetowy BigQuery bezpośrednio, wpisując w przeglądarce ten adres URL.
https://console.cloud.google.com/bigquery
  • Zaakceptuj Warunki korzystania z usługi.
  • Aby korzystać z BigQuery, musisz utworzyć projekt. Utwórz nowy projekt, postępując zgodnie z instrukcjami.

Wybierz nazwę projektu i zanotuj jego identyfikator. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

Identyfikator projektu to unikalna nazwa we wszystkich projektach Google Cloud. W dalszej części tego ćwiczenia w Codelabs będzie ona określana jako PROJECT_ID.

W tym ćwiczeniu w programowaniu wykorzystywane są zasoby BigQuery z limitami piaskownicy BigQuery. Konto rozliczeniowe nie jest wymagane. Jeśli zechcesz później usunąć limity piaskownicy, możesz dodać konto rozliczeniowe, rejestrując się w bezpłatnym okresie próbnym Google Cloud Platform.

3. Podgląd danych GitHub

Otwórz zbiór danych GitHub w interfejsie internetowym BigQuery.

https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=github_repos&t=commits&page=table

Zobacz szybki podgląd danych.

ed0b9fce5eab1c6b.png

4. Wykonywanie zapytań na danych GitHub

Otwórz edytor zapytań.

759423d320075d96.png

Wpisz to zapytanie, aby znaleźć najczęściej spotykane komunikaty zatwierdzenia w publicznym zbiorze danych GitHub:

SELECT subject AS subject,
  COUNT(*) AS num_duplicates
FROM `bigquery-public-data.github_repos.sample_commits`
GROUP BY subject
ORDER BY num_duplicates DESC
LIMIT 100

Ze względu na duże rozmiary zbioru danych GitHub warto wykorzystać mniejszy przykładowy zbiór danych w celu ograniczenia kosztów. Aby oszacować koszt zapytania, użyj liczby bajtów przetworzonych pod edytorem.

fb66b7e9c6e838c.png

Kliknij przycisk Uruchom.

Wynik pojawi się na dole po kilku sekundach. Dowiesz się z niego, ile danych zostało przetworzonych i ile czasu zajęło.

3ce1a59763d0dab5.png

Mimo że tabela sample_commits ma rozmiar 2,49 GB, zapytanie przetworzono tylko do 35,8 MB. BigQuery przetwarza bajty tylko z kolumn używanych w zapytaniu, więc łączna ilość przetworzonych danych może być znacznie mniejsza od rozmiaru tabeli. Dzięki grupowaniu i partycjonowaniu ilość przetwarzanych danych można jeszcze bardziej zmniejszyć.

5. Więcej danych publicznych

Teraz spróbuj wysłać zapytanie do innego zbioru danych, np. do jednego z publicznych zbiorów danych.

Na przykład to zapytanie znajduje popularne wycofane lub nieutrzymywane projekty w publicznym zbiorze danych Libraries.io, które są nadal używane jako zależność w innych projektach:

SELECT
  name,
  dependent_projects_count,
  language,
  status
FROM
  `bigquery-public-data.libraries_io.projects_with_repository_fields`
WHERE status IN ('Deprecated', 'Unmaintained')
ORDER BY dependent_projects_count DESC
LIMIT 100

Inne organizacje również udostępniły swoje dane publicznie w BigQuery. Na przykład zbiór danych archiwum GH GitHub może być używany do analizowania zdarzeń publicznych w GitHubie, takich jak żądania pull, gwiazdki repozytorium i otwarte problemy. Zbiór danych PyPI Fundacji Pythona może służyć do analizowania żądań pobierania pakietów Pythona.

6. Gratulacje!

Udało Ci się już wykorzystać BigQuery i SQL do wysyłania zapytań do publicznego zbioru danych GitHub. Możesz tworzyć zapytania do zbiorów danych w petabajtach.

Omawiane tematy

  • Używanie składni SQL do wysyłania zapytań dotyczących rekordów zatwierdzenia GitHub
  • Pisanie zapytania w celu uzyskania wglądu w duży zbiór danych

Więcej informacji