BigQuery ist ein Data Warehouse für Analysen im Petabytebereich, mit dem SQL-Abfragen für riesige Datenmengen nahezu in Echtzeit ausgeführt werden können.
Mithilfe von Datenvisualisierungstools können Sie BigQuery-Daten verständlich darstellen und interaktiv analysieren. Visualisierungstools helfen Ihnen, anhand Ihrer Daten Trends zu ermitteln, darauf zu reagieren und Prognosen zu erstellen. In dieser Anleitung verwenden Sie die BigQuery-Clientbibliothek für Python und Pandas in einem Jupyter-Notebook, um Daten in der BigQuery-Beispieltabelle natality zu visualisieren.
Ziele
In dieser Anleitung lernen Sie Folgendes:
- Eine Umgebung zum Ausführen von Jupyter-Notebooks einrichten
- BigQuery-Daten mit der BigQuery-Python-Clientbibliothek und Pandas abfragen und visualisieren
Kosten
BigQuery ist ein kostenpflichtiges Produkt. Beim Zugriff darauf werden von BigQuery Nutzungskosten berechnet. Bei BigQuery-Abfragen ist das erste TB pro Monat kostenlos. Weitere Informationen finden Sie auf der Seite "Preise" für BigQuery.
Hinweis
Bevor Sie mit dieser Anleitung beginnen, erstellen Sie in der Google Cloud Console ein Projekt oder wählen eines aus.
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
- BigQuery ist in neuen Projekten automatisch aktiviert. Zum Aktivieren von BigQuery in einem vorhandenen Projekt wechseln Sie zu Aktivieren Sie die BigQuery API. .
- BigQuery bietet eine Sandbox, wenn Sie für Ihr Projekt keine Kreditkarte angeben oder die Abrechnung nicht aktivieren möchten. Die Schritte in diesem Thema funktionieren für Projekte mit und ohne aktivierter Abrechnung. Wenn Sie die Abrechnung aktivieren möchten, lesen Sie die Informationen unter Abrechnungseinstellungen eines Projekts ändern.
Lokale Jupyter-Umgebung einrichten
In dieser Anleitung verwenden Sie ein lokal gehostetes Jupyter-Notebook. Mit den folgenden Schritten installieren Sie Jupyter, richten die Authentifizierung ein und installieren die erforderlichen Python-Bibliotheken.
Führen Sie in Ihrem Terminal den folgenden Befehl aus, um die neueste Version der BigQuery-Clientbibliothek für Python zu installieren, einschließlich der Pandas-Bibliothek, die für Funktionen erforderlich ist, die Pandas verwenden:
pip install --upgrade 'google-cloud-bigquery[pandas]'
Eine Installationsanleitung für Jupyter finden Sie in der Jupyter-Dokumentation.
Standardanmeldedaten für Anwendungen richten Sie gemäß der Anleitung unter Erste Schritte bei der Authentifizierung ein. Zum Einrichten der Authentifizierung erstellen Sie ein Dienstkonto und legen eine Umgebungsvariable fest.
Übersicht: Jupyter-Notebooks
Ein Notebook bietet eine Umgebung, in der Code erstellt und ausgeführt werden kann. Ein Notebook ist im Wesentlichen ein Quellartefakt, das als .ipynb
-Datei gespeichert wird. Es kann beschreibenden Textinhalt, ausführbare Codeblöcke und zugehörige Ergebnisse enthalten (als interaktive HTML-Ausgabe). Strukturell handelt es sich bei einem Notebook um eine Reihe von Zellen.
Eine Zelle ist ein Block von Eingabetext, der ausgewertet wird, um Ergebnisse zu erzeugen. Es gibt zwei verschiedene Typen von Zellen:
Codezellen: enthalten auszuwertenden Code. Alle durch das Ausführen des Codes generierten Ausgaben oder Ergebnisse werden sofort unter dem Eingabecode erzeugt.
Markdown-Zellen: enthalten Markdown-Text, der in HTML konvertiert wird, um Kopfzeilen, Listen und formatierten Text zu generieren.
Der folgende Screenshot zeigt eine Markdown-Zelle, gefolgt von einer Python-Codezelle. Die Ausgabe der Python-Zelle wird direkt unter dem Code angezeigt.
Jedes geöffnete Notebook ist einer ausgeführten Sitzung zugeordnet. In Python wird dies auch als Kernel bezeichnet. Diese Sitzung führt den gesamten innerhalb des Notebooks eingegebenen Code aus und verwaltet den Status (Variablen, deren Werte, Funktionen und Klassen sowie vorhandene Python-Module, die geladen werden).
BigQuery-Daten abfragen und visuell darstellen
In diesem Abschnitt der Anleitung erstellen Sie ein Datalab-Notebook, mit dem Daten in BigQuery abgefragt und visualisiert werden können. Für die Visualisierungen verwenden Sie die Daten aus der Beispieltabelle zur Geburtenrate (natality). Alle Abfragen in dieser Anleitung erfolgen in der SQL-Standardsyntax.
So erstellen Sie mit einem Jupyter-Notebook Abfragen und Visualisierungen für BigQuery-Daten:
Wenn Sie Jupyter noch nicht gestartet haben, führen Sie auf Ihrem Terminal folgenden Befehl aus:
jupyter notebook
Jupyter sollte nun ausgeführt werden und in einem Browserfenster geöffnet sein. Klicken Sie im Jupyter-Fenster auf die Schaltfläche Neu und wählen Sie Python 3 aus, um ein Python-Notebook zu erstellen.
Klicken Sie oben auf der Seite auf Unbenannt.
Geben Sie im Dialogfeld Notebook umbenennen einen neuen Namen wie z. B.
BigQuery tutorial
ein. Klicken Sie dann auf Umbenennen.Die BigQuery-Clientbibliothek für Python bietet einen magischen Befehl, mit dem Sie Abfragen mit minimalem Code ausführen können. Fügen Sie in die erste Zelle des Notebooks folgenden Code ein, um die magischen Befehle aus der Clientbibliothek zu laden:
%load_ext google.cloud.bigquery
Klicken Sie zum Ausführen des Befehls auf die Schaltfläche Ausführen oder drücken Sie
SHIFT + ENTER
.Die BigQuery-Clientbibliothek für Python stellt die Zellmagie
%%bigquery
zum Ausführen einer SQL-Abfrage bereit. Die Ergebnisse werden als Pandas DataFrame zurückgegeben. Geben Sie den folgenden Code in die nächste Zelle ein, um die Gesamtzahl der Geburten nach Jahr zurückzugeben:Klicken Sie auf Ausführen.
Die Abfrageergebnisse werden unterhalb der Codezelle angezeigt.
Geben Sie im nächsten Zellenblock den folgenden Befehl ein, um dieselbe Abfrage auszuführen, aber speichern Sie die Ergebnisse dieses Mal in der neuen Variablen
total_births
, die als Argument an%%bigquery
übergeben wird. Mithilfe der Ergebnisse können Sie anschließend weitere Analysen und Visualisierungen ausführen.Klicken Sie auf Ausführen.
Sie haben jetzt einen Pandas DataFrame in der Variablen
total_births
gespeichert. Diese ist zur Darstellung bereit. Fügen Sie in die nächste Zelle als Vorbereitung auf die Darstellung der Abfrageergebnisse folgenden integrierten magischen Befehl ein, um die Bibliothek matplotlib zu aktivieren. Matplotlib ist die von Pandas für die Darstellung verwendete Bibliothek.%matplotlib inline
Klicken Sie auf Ausführen.
Geben Sie in die nächste Zelle folgenden Code ein, um die Abfrageergebnisse mithilfe der Pandas-Methode
DataFrame.plot()
als Balkendiagramm zu visualisieren. Weitere Informationen zur Datenvisualisierung mit Pandas erhalten Sie in der Pandas-Dokumentation.Klicken Sie auf Ausführen.
Das Diagramm wird unterhalb des Codeblocks angezeigt.
Fügen Sie anschließend die folgende Abfrage in die nächste Zelle ein, um die Anzahl der Geburten nach Wochentag abzurufen.
Da das Feld
wday
(Wochentag) Nullwerte zulässt, werden in der Abfrage Datensätze mit dem Wert null fürwday
ausgeschlossen.Klicken Sie auf Ausführen.
Geben Sie in die nächste Zelle folgenden Code ein, um die Abfrageergebnisse in einem Liniendiagramm darzustellen.
Klicken Sie auf Ausführen.
Das Diagramm wird unterhalb des Codeblocks angezeigt. Beachten Sie, dass die Anzahl der Geburten sonntags (1) und samstags (7) drastisch abnimmt.
Klicken Sie auf File > Save and Checkpoint oder klicken Sie in der Symbolleiste auf das Symbol zum Speichern. Wenn Sie einen Prüfpunkt erstellen, können Sie das Notebook in einen vorherigen Zustand zurücksetzen.
Pandas DataFrames
Mithilfe von magischen Befehlen können Sie mit minimaler Syntax mit BigQuery interagieren. Im Hintergrund verwendet %%bigquery
die BigQuery-Clientbibliothek für Python, um die angegebene Abfrage auszuführen. Die Ergebnisse werden in einen Pandas DataFrame umgewandelt, optional in einer Variablen gespeichert und schließlich angezeigt. Wenn Sie die BigQuery-Clientbibliothek für Python direkt und nicht über magische Befehle verwenden, haben Sie mehr Kontrolle über Ihre Abfragen und können komplexere Konfigurationen verwenden. Durch die Einbindung der Bibliothek in Pandas können Sie deklarativen SQL-Dialekt mit imperativem Code (Python) kombinieren, um aufschlussreiche Datenanalysen, Visualisierungen und Transformationen durchzuführen.
BigQuery-Daten mit Pandas DataFrames abfragen und visuell darstellen
In diesem Abschnitt der Anleitung verwenden Sie Pandas DataFrames, um Daten in BigQuery abzufragen und zu visualisieren. Sie verwenden die BigQuery-Clientbibliothek für Python, um BigQuery-Daten abzufragen. Für die Datenanalyse mit DataFrames verwenden Sie die Pandas-Bibliothek.
Geben Sie den folgenden Python-Code in die nächste Zelle ein, um die BigQuery-Clientbibliothek für Python zu importieren und einen Client zu initialisieren. Der BigQuery-Client wird zum Senden und Empfangen von Nachrichten von der BigQuery API verwendet.
Klicken Sie auf Run (Ausführen).
Führen Sie mit der Methode Client.query() eine Abfrage aus. Geben Sie in die nächste Zelle folgenden Code ein, um die jährliche Anzahl von Mehrlingsgeburten nach Anzahl der Mehrlinge – 2 für Zwillinge, 3 für Drillinge usw. – abzurufen.
Klicken Sie auf Ausführen.
Wenn Sie die im DataFrame enthaltenen Abfrageergebnisse in einem Diagramm darstellen möchten, geben Sie in die nächste Zelle folgenden Code ein. Die Daten werden dadurch gedreht und als übereinander angeordnetes Balkendiagramm mit der Anzahl der im Lauf der Zeit erfassten Mehrlingsgeburten angezeigt.
Klicken Sie auf Ausführen.
Das Diagramm wird unterhalb des Codeblocks angezeigt.
Mit der folgenden Abfrage in der nächsten Zelle rufen Sie die Anzahl der Geburten anhand der Anzahl der Schwangerschaftswochen ab.
Klicken Sie auf Ausführen.
Fügen Sie in die nächste Zelle folgenden Code ein, um die im DataFrame enthaltenen Abfrageergebnisse in einem Diagramm darzustellen.
Klicken Sie auf Ausführen.
Das Balkendiagramm wird unterhalb des Codeblocks angezeigt.
Nächste Schritte
Abfragen für BigQuery schreiben: In der BigQuery-Dokumentation wird unter Daten abfragen gezeigt, wie Sie Abfragen ausführen, benutzerdefinierte Funktionen (User-Defined Functions, UDFs) erstellen und vieles mehr.
BigQuery-Syntax kennenlernen: Der bevorzugte Dialekt für SQL-Abfragen in BigQuery ist Standard-SQL. Eine entsprechende Beschreibung finden Sie in der SQL-Referenz. Die an Legacy-SQL angelehnte BigQuery-Syntax wird in der Referenz zu Abfragen (Legacy-SQL) beschrieben.