EC2 (Python3) -> BigQuery

supposition

・ Le compte GCP est prêt -Il doit y avoir une table qui peut se connecter à BigQuery

Préparation de l'environnement d'exécution

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

Ajout de module

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

Installation et authentification du SDK GoogleCloud (s'exécutant dans l'environnement python2.x)

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

Courir sur une table avec très peu d'enregistrements

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

→ L'authentification s'exécute avec pd.read_gbq, mais comme EC2 est la source d'exécution, Je ne peux pas recevoir l'URL d'authentification pour écouter sur localhost

Génération d'identifiants avec 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)

Après avoir exécuté le processus ci-dessus, "bigquery_credentials.dat" est créé dans le répertoire courant. → pandas.read_gbq utilise ce qui précède comme information d'authentification

Courir sur une table avec très peu d'enregistrements

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

référence

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
Utilisez BigQuery depuis Python.
Connectez-vous à BigQuery avec Python
Intégration BigQuery pour les utilisateurs Python
Python --Installez MySQLDB sur EC2
python kafka
Les bases de Python ⑤
Résumé Python
Notation d'inclusion Python
Technique Python
Étudier Python
Mémorandum Python
Python FlowFishMaster
Service Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
Notation d'inclusion Python
Installer python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
mémo python
Python Jinja2
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Comment utiliser BigQuery en Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python
Remarque: Python
Les bases de Python ③
Sortie du journal python
Les bases de Python
[Scraping] Scraping Python
Mise à jour Python (2.6-> 2.7)
mémo python
Mémorandum Python
Python #sort
ufo-> python
Python nslookup
apprentissage de python
[Rpmbuild] Python 3.7.3.
Python au prorata (1)