EC2 (Python3) -> BigQuery

Annahme

・ Das GCP-Konto ist bereit -Es muss eine Tabelle vorhanden sein, die eine Verbindung zu BigQuery herstellen kann

Vorbereitung der Ausführungsumgebung

ec2 -pyenv -naconda3-4.0.0 -pandas -httplib2 -google-api-python-client

Modulzusatz

sudo su -
pyenv global naconda3-4.0.0
pip install httplib2
pip install google-api-python-client

Google Cloud SDK-Installation (wird in der python2.x-Umgebung ausgeführt) und Authentifizierung

pyenv global system
curl https://sdk.cloud.google.com | bash
~/google-cloud-sdk/bin/gcloud auth login

Führen Sie einen Tisch mit sehr wenigen Datensätzen aus

import pandas as pd
query = 'SELECT * FROM dataset_name.table_name'
pd.read_gbq(query, 'your_project_ID')

→ Die Authentifizierung wird mit pd.read_gbq ausgeführt. Da jedoch EC2 die Ausführungsquelle ist, Ich kann die Authentifizierungs-URL zum Abhören von localhost nicht erhalten

Generierung von Anmeldeinformationen mit Oauth2

from oauth2client.client import OAuth2WebServerFlow
from oauth2client.file import Storage
flow = OAuth2WebServerFlow(client_id='your_client_id',
                           client_secret='your_client_secret',
                           scope='https://www.googleapis.com/auth/bigquery',
                           redirect_uri='urn:ietf:wg:oauth:2.0:oob')
storage = Storage('bigquery_credentials.dat')
authorize_url = flow.step1_get_authorize_url()
print 'Go to the following link in your browser: ' + authorize_url
code = raw_input('Enter verification code: ')
credentials = flow.step2_exchange(code)
storage.put(credentials)

Nach dem Ausführen des obigen Prozesses wird "bigquery_credentials.dat" im aktuellen Verzeichnis erstellt. → pandas.read_gbq verwendet die oben genannten Informationen als Authentifizierungsinformationen

Führen Sie einen Tisch mit sehr wenigen Datensätzen aus

import pandas as pd
query = 'SELECT * FROM dataset_name.table_name'
pd.read_gbq(query, 'your_project_ID')

Referenz

https://developers.google.com/api-client-library/python/guide/aaa_oauth http://stackoverflow.com/questions/37792709/accessing-big-query-from-cloud-datalab-using-pandas

Recommended Posts

EC2 (Python3) -> BigQuery
Verwenden Sie BigQuery aus Python.
Stellen Sie mit Python eine Verbindung zu BigQuery her
BigQuery-Integration für Python-Benutzer
Python - Installieren Sie MySQLDB auf EC2
Kafka Python
Python-Grundlagen ⑤
Python-Zusammenfassung
Python-Einschlussnotation
Python-Technik
Python studieren
Python-Memorandum
Python FlowFishMaster
Python-Dienst
Python-Tipps
Python-Funktion ①
Python-Grundlagen
Python-Memo
Ufo-> Python (3)
Python-Einschlussnotation
Installieren Sie Python
Python Singleton
Python-Grundlagen ④
Python-Memorandum 2
Python-Memo
Python Jinja2
Python-Inkrement
atCoder 173 Python
[Python] -Funktion
Python-Installation
Python installieren 3.4.3.
Versuchen Sie Python
Python-Memo
Python iterativ
Python-Algorithmus
Python2 + word2vec
[Python] -Variablen
So arbeiten Sie mit BigQuery in Python
Python sys.intern ()
Python-Tutorial
Python-Fraktion
Python Underbar Das ist was
Python-Zusammenfassung
Starten Sie Python
Hinweis: Python
Python-Grundlagen ③
Python-Protokoll ausgeben
Python-Grundlagen
[Scraping] Python-Scraping
Python-Update (2.6-> 2.7)
Python-Memo
Python-Memorandum
Python #sort
Ufo-> Python
Python nslookup
Python lernen
[Rpmbuild] Python 3.7.3.
Prorate Python (1)