• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

jupyter bigquery

date: 2023-08-11 excerpt: jupyter notebookでbigqueryを利用する方法

tag: jupyterkagglepythonbigquery


jupyter notebookでbigqueryを利用する方法

概要

  • 手法としてはgoogle-cloud-bigqueryとpandas_gbqを利用する方法の2つが存在する
    • pandas_gbqは機能的に推奨できない点があり、google-cloud-bigqueryを使用したほうがいい旨のアドバイスを貰ったことがある
  • $ gcloud auth loginすれば透過的に認証が利用できるはずであるが、利用できないことがある

google-cloud-bigqueryを利用する場合

# pip install pydata-google-auth google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client google-cloud-bigquery \
#   google-cloud-bigquery-storage db-dtypes

import pydata_google_auth
from google.cloud import bigquery

SCOPES = [
    'https://www.googleapis.com/auth/cloud-platform',
    'https://www.googleapis.com/auth/drive',
]
credentials = pydata_google_auth.get_user_credentials(
    SCOPES,
    auth_local_webserver=False,
    # credentials_cache=pydata_google_auth.cache.NOOP, # 有効化すると、明示的にキャッシュを使用しない
)

client = bigquery.Client(project="<your-project-id>", credentials=credentials)

query = """
SELECT name, COUNT(*) as count
FROM `bigquery-public-data.usa_names.usa_1910_current`
WHERE state = 'CA'
GROUP BY name
ORDER BY count DESC
LIMIT 10
"""

# データフレームに変換
df = client.query(query).to_dataframe()
df
name count
Jean 221
Francis 219
Guadalupe 216
Jessie 215
Marion 213
Lee 206
Leslie 206
Frankie 199
Jackie 197
Noel 197


jupyterkagglepythonbigquery Share Tweet