Bibliothèque cliente BigQuery google-cloud-bigquery
J'écrirai comment utiliser le wrapper pandas-gbq
.
google-cloud-bigquery
.
https://cloud.google.com/bigquery/docs/pandas-gbq-migration?hl=ja[Explication avec image] Enregistrez un compte avec un essai gratuit de Google Cloud Platform (GCP)
Installation du SDK Google Cloud ~ Initialisation
Créer un projet avec le SDK Google Cloud
Créez un compte de service / clé de compte de service pour pouvoir accéder à GCS à partir de Python.
gcloud iam service-les comptes créent le nom du compte de service\
--display-nom Nom d'affichage du compte de service\
gcloud projects get-iam-policy mypj-id
# bindings:
# - members:
# - user:[email protected]
# role: roles/owner
# etag: BwWeTrntoao=
# version: 1
Accorder des privilèges d'administrateur BigQuery
gcloud projects add-iam-policy-ID de projet de liaison\
--member serviceAccount:Nom du compte de service@ID du projet.iam.gserviceaccount.com \
--role roles/bigquery.admin
https://cloud.google.com/iam/docs/understanding-roles?hl=ja#predefined_roles
gcloud projects get-iam-policy mypj-id
# bindings:
# - members:
# - user:[email protected]
# role: roles/owner
# - members:
# - serviceAccount:[email protected]
# role: roles/bigquery.admin
# etag: BwWeTz6vIBY=
# version: 1
$ gcloud iam service-accounts keys create ./anata_no_key.json \
--iam-nom du compte de service de compte@ID du projet.iam.gserviceaccount.com
.
├── anata_no_key.json
└── working/
└── main.py
Installez google-cloud-bigquery
avec pip
$ pip install google-cloud-bigquery
main.py
import os
from google.cloud import bigquery
from IPython.display import display
#Obtenez le répertoire de votre propre fichier
cwd = os.path.dirname(os.path.abspath(__file__))
#Définir dans la variable d'environnement
key_path = '{}/../credentials.json'.format(cwd)
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = key_path
project_id = 'project_id'
dataset_id = 'dataset_id'
table_id = 'table_id'
client = bigquery.Client(project=project_id)
sql = f"""
select col1, col2, col3
from {dataset_id}.{table_id}
limit 100
"""
df = client.query(sql).to_dataframe()
display(df)
Installez pandas-gbq
avec pip
$ pip install pandas-gbq
import pandas as pd
#Charger depuis BigQuery au format DataFrame
project_id = 'project_id'
dataset_id = 'dataset_id'
table_id = 'table_id'
query = f"""
SELECT *
FROM {dataset_id}.{table_id}
LIMIT 10
"""
# dialect='standard'Utiliser SQL standard dans
df = pd.read_gbq(query, project_id, dialect='standard')
display(df)
import pandas as pd
#Importer DataFrame dans BigQuery
df = pd.read_csv('path/to/dir/file.csv')
dataset_id = 'dataset_id'
table_id = 'table_id'
df.to_gbq(f'{dataset_id}.{table_id}')
Recommended Posts