LoginSignup
10

More than 5 years have passed since last update.

pandasからBigQueryを扱う

Last updated at Posted at 2016-10-26

pandasをからBigQueryに保存されているデータを扱うとき、わざわざCSVやJSONを経由したくない場合があります。pandasでは新たにライブラリなどを入れる必要もなくread_gbqを使うだけで簡単にBigQueryからデータを読み込むことができます。

必要なもの

  • 適切な権限の付与されたサービスアカウント (もしくは個人アカウント)
  • private key (JSON)
  • google-api-python-client

事前準備

サービスアカウントの作成と private key のダウンロード

権限の与えられたアカウントと対応する private key がない場合は作成しておきます。

  1. Google Cloud Platform の「IAMと管理」のメニューから「サービスアカウント」を選択
  2. 「プロジェクトを選択」から対象のプロジェクトを選択
  3. 「サービスアカウントを作成」でアカウント名・IDを入力し適切な役割を選択
  4. 「新しい秘密鍵の提供」にチェックを入れる
  5. 「キーのタイプ」で「JSON」を選択(pandasから扱う場合はP12では扱いづらい)

google-api-python-client のインストール

pip を使う場合は

pip install google-api-python-client

その他の場合は下記を参考に
BigQuery API Client Library for Python

実装例

import pandas

query = 'SELECT * FROM [project-999:dataset.table]'
project_id = 'project-999'
private_key = '/path.to/private_key.json'  # pathでもJSON形式の文字列でもいい

pandas.read_gbq(query, project_id=project_id, private_key=private_key)

参考

ドキュメント: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.gbq.read_gbq.html

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10