GitHub-Daten mit BigQuery abfragen

BigQuery ist eine vollständig verwaltete, automatisierte und kostengünstige Analysedatenbank von Google. Mit BigQuery können Sie Terabyte an Daten abfragen, ohne einen Datenbankadministrator oder eine Infrastruktur verwalten zu müssen. BigQuery nutzt vertrautes SQL und ein Abrechnungsmodell, bei dem nur für die Nutzung bezahlt wird. Mithilfe von BigQuery können Sie sich auf die Datenanalyse konzentrieren und wichtige Informationen erhalten.

In diesem Lab erfahren Sie, wie Sie das öffentliche GitHub-Dataset abfragen, eines von vielen öffentlichen, in BigQuery verfügbaren Datasets.

Lerninhalte

  • BigQuery verwenden
  • Abfrage schreiben, um Informationen zu einem großen Dataset zu gewinnen

Voraussetzungen

  • Google Cloud Platform-Projekt
  • Ein Browser, wie Chrome oder Firefox

BigQuery aktivieren

Wenn Sie noch kein Google-Konto haben (Gmail oder Google Apps), müssen Sie eines erstellen.

  • Melden Sie sich in der Google Cloud Platform Console an (console.cloud.google.com) und gehen Sie zu BigQuery. Sie können die BigQuery-Web-UI auch direkt öffnen, indem Sie die folgende URL in Ihren Browser eingeben.
https://console.cloud.google.com/bigquery
  • Akzeptieren Sie die Nutzungsbedingungen.
  • Bevor Sie BigQuery verwenden können, müssen Sie ein Projekt erstellen. Folgen Sie der Anleitung, um Ihr neues Projekt zu erstellen.

    Wählen Sie einen Projektnamen aus und notieren Sie sich die Projekt-ID.


    Die Projekt-ID ist ein eindeutiger Name für alle Google Cloud-Projekte. In diesem Codelab wird sie später als PROJECT_ID bezeichnet.

In diesem Codelab werden BigQuery-Ressourcen mit den BigQuery-Sandbox-Limits verwendet. Es ist kein Rechnungskonto erforderlich. Wenn Sie später die Limits für die Sandbox entfernen möchten, können Sie ein Rechnungskonto hinzufügen. Melden Sie sich dazu für die kostenlose Testversion der Google Cloud Platform an.

Öffnen Sie das GitHub-Dataset in der BigQuery-Web-UI.

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

Schneller Überblick über die Darstellung der Daten

Öffnen Sie den Abfrageeditor

Geben Sie diese Abfrage ein, um die am häufigsten verwendeten Commit-Nachrichten im öffentlichen GitHub-Dataset zu finden.

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

Da das GitHub-Dataset sehr groß ist, hilft es, ein kleineres Beispiel-Dataset zu verwenden, während Sie Kosten sparen. Verwenden Sie die unterhalb des Editors verarbeiteten Byte, um die Abfragekosten zu schätzen.

Klicken Sie auf Run query.

In wenigen Sekunden wird das Ergebnis unten angezeigt. Außerdem erfahren Sie, wie viele Daten verarbeitet wurden und wie lange es gedauert hat:

Obwohl die Tabelle sample_commits 2,49 GB ist, wurde die Abfrage nur mit 35,8 MB verarbeitet. BigQuery verarbeitet nur die Byte aus den Spalten, die in der Abfrage verwendet werden. Die Gesamtmenge der verarbeiteten Daten kann daher deutlich kleiner als die Tabellengröße sein. Durch Clustering und Partitionierung kann die Menge der verarbeiteten Daten sogar noch weiter reduziert werden.

Versuchen Sie nun, ein anderes Dataset abzufragen, z. B. eines der anderen öffentlichen Datasets.

Mit dieser Abfrage werden z. B. beliebte oder nicht mehr unterstützte Projekte im Libraries.io-Dataset gefunden, die noch als Abhängigkeit in anderen Projekten verwendet werden.

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

Andere Organisationen stellen auch ihre Daten in BigQuery zur Verfügung. Mit dem GitHub-Archiv-Dataset können beispielsweise öffentliche Ereignisse auf GitHub analysiert werden, z. B. Pull-Anfragen, Repository-Sterne und geöffnete Probleme. Das PyPI-Dataset von Python Software Foundation kann zum Analysieren von Downloadanfragen für Python-Pakete verwendet werden.

Sie haben mit BigQuery und SQL das öffentliche GitHub-Dataset abgefragt. Sie haben die Möglichkeit, Datasets im Petabytebereich abzufragen.

Behandelte Themen

  • GitHub-Commit-Einträge mithilfe der SQL-Syntax abfragen
  • Abfrage schreiben, um Informationen zu einem großen Dataset zu gewinnen

Weitere Informationen