Mit BigQuery GitHub-Daten abfragen

1. Einführung

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

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

Aufgaben in diesem Lab

  • BigQuery verwenden
  • Wie Sie eine Abfrage schreiben, um Einblick in ein großes Dataset zu erhalten

Voraussetzungen

2. Einrichten

BigQuery aktivieren

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

  • Melden Sie sich in der Google Cloud Platform Console ( console.cloud.google.com) an und rufen Sie BigQuery auf. 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 dazu den Eingabeaufforderungen.

Wählen Sie einen Projektnamen aus und notieren Sie sich die Projekt-ID. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

Die Projekt-ID ist ein Name, der übergreifend über alle Google Cloud-Projekte nur einmal vergeben wird. Sie wird in diesem Codelab später als PROJECT_ID bezeichnet.

In diesem Codelab werden BigQuery-Ressourcen innerhalb der BigQuery-Sandbox-Limits verwendet. Ein Rechnungskonto ist nicht erforderlich. Wenn Sie die Sandbox-Limits später entfernen möchten, können Sie ein Rechnungskonto hinzufügen, indem Sie sich für die kostenlose Testversion der Google Cloud Platform registrieren.

3. GitHub-Daten als Vorschau ansehen

Ö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

Sehen Sie sich eine kurze Vorschau der Daten an.

ed0b9fce5eab1c6b.png

4. GitHub-Daten abfragen

Öffnen Sie den Abfrageeditor.

759423d320075d96.png

Geben Sie die folgende Abfrage ein, um die häufigsten Commit-Nachrichten im öffentlichen GitHub-Dataset zu ermitteln:

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

Angesichts des großen GitHub-Datasets ist es hilfreich, beim Experimentieren ein kleineres Beispiel-Dataset zu verwenden, um Kosten zu sparen. Verwenden Sie die verarbeiteten Byte unter dem Editor, um die Abfragekosten zu schätzen.

fb66b7e9c6e838c.png

Klicken Sie auf Ausführen.

Das Ergebnis wird nach wenigen Sekunden unten angezeigt und Sie können sehen, wie viele Daten verarbeitet wurden und wie lange es gedauert hat.

3ce1a59763d0dab5.png

Die Tabelle "sample_commits" ist zwar 2,49 GB groß, aber die Abfrage hat nur 35,8 MB verarbeitet. BigQuery verarbeitet nur die Byte aus den in der Abfrage verwendeten Spalten. Daher kann die verarbeitete Gesamtdatenmenge deutlich kleiner als die Tabellengröße sein. Durch Clustering und Partitionierung kann die verarbeitete Datenmenge noch weiter reduziert werden.

5. Mehr öffentliche Daten

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

Mit der folgenden Abfrage werden beispielsweise beliebte verworfene oder nicht verwaltete Projekte im öffentlichen Libraries.io-Dataset gefunden, die weiterhin 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

Auch andere Organisationen haben ihre Daten in BigQuery öffentlich verfügbar gemacht. Beispielsweise kann das GH Archive-Dataset von GitHub verwendet werden, um öffentliche Ereignisse auf GitHub wie Pull-Anfragen, Repository-Markierungen und geöffnete Probleme zu analysieren. Das PyPI-Dataset der Python Software Foundation kann verwendet werden, um Downloadanfragen für Python-Pakete zu analysieren.

6. Glückwunsch!

Sie haben BigQuery und SQL verwendet, um das öffentliche GitHub-Dataset abzufragen. Sie haben die Möglichkeit, Datasets im Petabyte-Bereich abzufragen!

Behandelte Themen

  • GitHub-Commit-Einträge mithilfe von SQL-Syntax abfragen
  • Abfrage schreiben, um Einblick in ein großes Dataset zu erhalten

Weitere Informationen