Wysyłanie danych do GitHuba za pomocą BigQuery

BigQuery to ekonomiczna, w pełni zarządzana analityczna baza danych Google typu NoOps. W BigQuery możesz tworzyć zapytania dotyczące terabajtów danych bez konieczności zarządzania bazą danych ani konieczności zarządzania infrastrukturą. BigQuery korzysta ze znanego języka SQL i modelu płatności „za opłatą”. 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, jednego z dostępnych publicznych zbiorów danych dostępnych w BigQuery.

Czego się nauczysz:

  • Korzystanie z BigQuery
  • pisanie zapytania pozwalającego uzyskać wgląd w duży zbiór danych;

Czego potrzebujesz

  • Projekt Google Cloud Platform
  • Przeglądarka, na przykład 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 przejdź do 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.
  • Zanim zaczniesz korzystać z BigQuery, musisz utworzyć projekt. Postępuj zgodnie z wyświetlanymi instrukcjami, aby utworzyć nowy projekt.

    Wybierz nazwę projektu i zapisz jego identyfikator.


    Identyfikator projektu to unikalna nazwa we wszystkich projektach Google Cloud. W ćwiczeniach nazywamy je później PROJECT_ID.

To ćwiczenie programowania korzysta z zasobów BigQuery, które mają limity 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łatnej wersji próbnej Google Cloud Platform.

Otwórz zbiór danych z GitHuba w interfejsie internetowym BigQuery.

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

Uzyskaj szybki podgląd wyglądu danych.

Otwórz edytor zapytań.

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

Ponieważ zbiór danych w GitHubie jest duży, pomaga on używać mniejszego przykładowego zbioru danych, gdy przeprowadzasz eksperyment. Pozwoli Ci to ograniczyć koszty. Użyj bajtów przetworzonych pod edytorem, aby oszacować koszt zapytania.

Kliknij przycisk Uruchom zapytanie.

Wynik będzie widoczny na dole w ciągu kilku sekund. Zobaczysz też informacje o tym, ile danych zostało przetworzone i ile trwało:

Mimo że tabela sample_commits wynosi 2,49 GB, zapytanie zostało przetworzone tylko 35,8 MB. BigQuery przetwarza 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ść przetworzonych danych można jeszcze bardziej zmniejszyć.

Teraz możesz wysłać zapytanie dotyczące innego zbioru danych, np. jednego z publicznych zbiorów danych.

To zapytanie znajduje na przykład w publicznym zbiorze danych Biblioteki.io popularne i nieużywane projekty, 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 udostępniły swoje dane publicznie w BigQuery. Na przykład zbiór danych z GitHub Archiwum może służyć do analizowania zdarzeń publicznych w GitHubie, takich jak żądania pull, gwiazdki w repozytorium i otwarte problemy. Python Software Foundation – zbiór danych PyPIon umożliwia analizowanie żądań pobierania pakietów Pythona.

Udało Ci się użyć BigQuery i SQL do utworzenia zapytania dotyczącego publicznego zbioru danych GitHuba. Możesz tworzyć zapytania dotyczące zbiorów danych w petabajtach.

Omawiane zagadnienia

  • Używanie składni SQL do odpytywania rekordów zatwierdzenia GitHub
  • pisanie zapytania pozwalającego uzyskać wgląd w duży zbiór danych;

Więcej informacji