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

1. Wprowadzenie

BigQuery to w pełni zarządzana, ekonomiczna baza danych analitycznych Google. Z BigQuery możesz przeszukiwać terabajty danych bez konieczności zarządzania infrastrukturą czy wyznaczania administratora bazy danych. BigQuery korzysta ze znanego języka SQL i modelu płatności według wykorzystania. Pracując w BigQuery, możesz skoncentrować się na analizowaniu danych i wyciąganiu z nich znaczących wniosków.

W tym module dowiesz się, jak wysyłać zapytania do publicznego zbioru danych GitHub, który jest jednym z wielu publicznych zbiorów danych dostępnych w BigQuery.

Czego się nauczysz

  • Jak korzystać z BigQuery
  • Jak napisać zapytanie, aby uzyskać wgląd w duży zbiór danych

Czego potrzebujesz

2. Konfiguracja

Włączanie BigQuery

Jeśli nie masz jeszcze konta Google (Gmail 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ć internetowy interfejs BigQuery bezpośrednio, wpisując w przeglądarce ten adres URL:
https://console.cloud.google.com/bigquery
  • Zaakceptuj Warunki korzystania z usługi.
  • Zanim zaczniesz korzystać z BigQuery, musisz utworzyć projekt. Postępuj zgodnie z instrukcjami, aby utworzyć nowy projekt.

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

Identyfikator projektu to unikalna nazwa w ramach wszystkich projektów Google Cloud. W dalszej części tego laboratorium będzie on nazywany PROJECT_ID.

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

3. Podgląd danych z GitHub

Otwórz zbiór danych GitHub w internetowym interfejsie 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ń o dane z GitHub

Otwórz edytor zapytań.

759423d320075d96.png

Aby znaleźć najczęstsze komunikaty zatwierdzenia w publicznym zbiorze danych GitHub, wpisz to zapytanie:

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

Zbiór danych GitHub jest duży, więc podczas eksperymentowania warto używać mniejszego przykładowego zbioru danych, aby obniżyć koszty. Aby oszacować koszt zapytania, użyj liczby przetworzonych bajtów pod edytorem.

fb66b7e9c6e838c.png

Kliknij przycisk Uruchom.

Po kilku sekundach na dole pojawi się wynik z informacją o ilości przetworzonych danych i czasie trwania procesu.

3ce1a59763d0dab5.png

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

5. Więcej danych publicznych

Teraz spróbuj utworzyć zapytanie dotyczące innego zbioru danych, np. jednego z pozostałych publicznych zbiorów danych.

Na przykład to zapytanie znajduje popularne, wycofane lub nieaktualizowane projekty w publicznym zbiorze danych Libraries.io, które są nadal używane jako zależności 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 GH Archive w GitHubie może służyć do analizowania publicznych zdarzeń w GitHubie, takich jak żądania pull, gwiazdki repozytorium i otwarte problemy. Zbiór danych PyPI Python Software Foundation może służyć do analizowania próśb o pobranie pakietów Pythona.

6. Gratulacje!

Udało Ci się utworzyć zapytanie do publicznego zbioru danych GitHub przy użyciu BigQuery i SQL. Możesz teraz wysyłać zapytania do zbiorów danych o rozmiarze petabajtów.

Omówione tematy

  • Wykonywanie zapytań o rekordy zatwierdzeń w GitHubie za pomocą składni SQL
  • Pisanie zapytania w celu uzyskania informacji o dużym zbiorze danych

Więcej informacji