Wykonywanie zapytań o dane GitHub za pomocą BigQuery

BigQuery to ekonomiczna, w pełni zarządzana analityczna baza danych Google typu NoOps. Z BigQuery możesz przeszukiwać terabajty danych bez konieczności wyznaczania administratora bazy danych czy zarządzania infrastrukturą. BigQuery korzysta z 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 tworzyć zapytania dotyczące publicznego zbioru danych GitHub, który jest jednym z wielu publicznych zbiorów danych dostępnych w BigQuery.

Czego się nauczysz

  • Korzystanie z BigQuery
  • Tworzenie zapytania w celu uzyskania informacji o dużym zbiorze danych

Czego potrzebujesz

  • Projekt Google Cloud Platform
  • przeglądarka, np. Chrome lub Firefox;

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 jego identyfikator.


    Identyfikator projektu to unikalna nazwa w przypadku 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.

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

Szybki podgląd danych.

Otwórz edytor zapytań.

wpisz to zapytanie, aby znaleźć najczęstsze 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

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.

Kliknij przycisk Uruchom zapytanie.

Po kilku sekundach wynik pojawi się u dołu. Zobaczysz też, ile danych zostało przetworzonych i ile czasu to zajęło:

Mimo że 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 klastrowaniupartycjonowaniu ilość przetwarzanych danych można jeszcze bardziej zmniejszyć.

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 GitHub Archive 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.

Udało Ci się użyć BigQuery i SQL do wysyłania zapytań do publicznego zbioru danych GitHub. Możesz wysyłać zapytania do zbiorów danych o rozmiarze petabajtów.

Omówione zagadnienia

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

Więcej informacji