Die Kombination von Python und BigQuery passt gut zur Datenanalyse.
Python ist nicht für die Verarbeitung zu großer Daten geeignet. Wenn Sie jedoch BigQuery nur diesen Teil ausführen lassen und die Daten in kleine Teile ausschneiden, können Sie mit Python alles tun, was Sie wollen.
Die Frage ist, wie Python und BigQuery zusammenarbeiten, aber es gibt zwei Möglichkeiten, dies zu tun.
2 wird besonders für diejenigen empfohlen, die es gewohnt sind, Jupyter Notebook zu verwenden.
Es gibt mehrere Bibliotheken, um BigQuery von Python aus zu erreichen. Zum Beispiel BigQuery-Python, bigquery_py.
Tatsächlich ist das einfachste und empfohlene __ jedoch das eine Modul von Pandas.io pandas.io.gbq. .gbq.read_gbq.html). Es funktioniert gut mit DataFrame-Objekten und ist sehr einfach zu authentifizieren. Daher ist es großartig, dass Sie es verwenden können, ohne sich um schwierige Dinge kümmern zu müssen.
pandas.io.Alles, was Sie zur Verwendung von gbq benötigen, ist die BigQuery-Projekt-ID.
Die Notation lautet wie folgt.
In diesem Beispiel wird das Ergebnis von `` `SELECT * FROM tablename``` in`` data_frame``` gespeichert und kann dann als normales DF-Objekt verwendet werden.
```python
import pandas as pd
query = 'SELECT * FROM tablename'
#str-basierte Abfragen und Projekte_ID erforderlich
data_frame = pd.read_gbq(query, 'project-id')
Bei der Ausführung werden einfache Statistiken des Abfrageprozesses zurückgegeben. (Wenn Sie die Statistik ausblenden möchten, geben Sie als Argument verbose = False an.)
Ausführungsbeispiel
Wenn Sie pd.read_gbq ausführen, wird der Authentifizierungsbildschirm für das Google-Konto in Ihrem Browser geöffnet. Wenn Sie sich mit einem Konto anmelden, das auf das Projekt zugreifen kann, wird die verknüpfte Authentifizierung abgeschlossen und der Vorgang gestartet.
Zu diesem Zeitpunkt wird das json-Format "Anmeldeinformationsdatei" in den Arbeitsordner ausgespuckt. Solange Sie über diese Datei verfügen, können Sie die Abfrage ohne erneute Authentifizierung mehrmals ausführen. Um es anders herum auszudrücken: Wenn diese Datei übergeben wird, wird BigQuery verwendet und Sie sterben. Seien Sie also vorsichtig, wenn Sie die Datei verwalten. http://qiita.com/itkr/items/745d54c781badc148bb9
Sie können ein Python DataFrame-Objekt auch einfach als Tabelle in BigQuery schreiben. Offizielles Dokument der Bibliothek
from pandas.io import gbq
gbq.to_gbq(df, 'Tabelle zum Schreiben', 'Projekt-ID')
Allein damit können Sie das in Python verwendete DF-Objekt an BigQuery zurückgeben.
Wenn Sie das zum Beispiel so weit können
(1) Abrufen von Benutzerfeature-Daten aus BigQuery (Lesen)_bgq)
↓
② Verbinden und verarbeiten Sie Daten mit Python(pandas)
↓
③ Beschriften Sie Benutzer mit einem Modell für maschinelles Lernen(scikielearn)
↓
④ Geben Sie das beschriftete Ergebnis an BigQuery zurück(gbq.to_gbq)
Sie werden in der Lage sein, solche Dinge relativ einfach zu tun. Hmmm wunderbar Pandas ist wirklich praktisch
Datalab ist eine interaktive Cloud-Analyseumgebung, die auf jupyter notebook (ehemals iPython-Notebook) basiert und auf Google Compute Engine basiert. Der Vorgang erfolgt durch Schreiben des Codes in eine Schnittstelle namens "Notebook", die mit einem Browser angezeigt und beschrieben werden kann.
In etwa hat es die folgenden Vorteile.
Ich denke nicht, dass es einfach ist, den Text zu lesen, daher ist es möglicherweise am schnellsten, das Video oder Bild anzusehen.
[Video] https://www.youtube.com/watch?v=RzIjz5HQIx4
[Bild des Verwendungsbeispiels]
Die Zeichen in der ersten Zeile sind Markdown,
Die erste Zelle ist in SQL und die zweite Zelle in Python geschrieben
Grafiken usw. werden auch inline angezeigt
(Natürlich können nicht nur Grafiken, sondern auch Tabellen angezeigt werden.)
In der Beta (?) Können Sie Funktionen nicht direkt über die GCP-Konsole aktivieren Wählen Sie auf dieser Seite ein Projekt aus und stellen Sie es bereit, um die Funktion zu verwenden
Darüber hinaus scheinen nur Eigentümer mit Eigentümer- oder Bearbeitungsberechtigung die Funktion aktivieren zu können Nach der Bereitstellung für das Projekt steht es allen Mitgliedern des Projekts zur Verfügung
Cloud Datalab is deployed as a Google App Engine application module in the selected project. The Google Compute Engine and Google BigQuery APIs must be enabled for the project, and you must be authorized to use the project as an owner or editor.
Startbildschirmbild
Eine Instanz für Datalab wird in Google Compute Engine gestartet, und die Datalab-Umgebung basiert darauf. Die Datalab-Oberfläche kann über einen Browser bedient werden. (Natürlich ist auch eine SSH-Verbindung zu dieser Umgebung möglich.)
Im Browser geschriebenes Notebook (SQL- und Python-Code) wird in dieser Instanz gespeichert (= jeder kann es sehen)
Die GCP-Konsole hat keinen Einstiegspunkt, um die Databab-Funktion zu aktivieren. Bei Verwendung von Datalab wird jedoch "Datalab" in der Instanzliste angezeigt.
Für GCE-Instanzen wird eine Gebühr erhoben (~ mehrere tausend Yen? Abhängig von den Spezifikationen der Instanz). Natürlich wird Ihnen auch das Schlagen von BigQuery in Rechnung gestellt.
Datalab offiziell
You only pay for the resources you use to run Cloud Datalab, as follows:
Compute Resources Cloud Datalab uses Google App Engine and Google Compute Engine resources to run within your project. When you have Cloud Datalab instances deployed within your project, you incur compute charges —the charge for one VM per Cloud Datalab instance
Google BigQuery -You incur BigQuery charges when issuing SQL queries within Cloud Datalab
Other Resources —You incur charges for other API requests you make within the Cloud Datalab environment.
Voyage Group http://www.slideshare.net/hagino_3000/cloud-datalabbigquery Vasily http://tech.vasily.jp/entry/cloud-datalab Wunderplanet http://wonderpla.net/blog/engineer/Try_GoogleCloudDatalab/
Recommended Posts