ローカルのJupyter NotebookからBigQueryのデータを簡単に取得する方法(その2)

以前、Pythonを使ってBigQueryからデータを取得する方法として、Google Cloudのクライアントを使用する方法をご紹介しました。

※過去の記事はこちらを参照ください。

今回は別の方法として「Pandasの拡張ライブラリを使用する方法」をご紹介します。

以下のコマンドで「pandas-gbq」をインストールします。

pip install pandas-gbq

今回も、pydata-google-auth を使ってGoogleの認証キーをオブジェクトとして取得します。

pydata-google-auth をインストールする場合は、以下のコマンドから↓↓↓

Anacondaの場合

conda install -c conda-forge pydata-google-auth

pipの場合

pip install pydata-google-auth

Jupyter Notebookのセルに以下のコードを入力して実行します。

import pydata_google_auth

credentials = pydata_google_auth.get_user_credentials(
[‘https://www.googleapis.com/auth/bigquery‘],
)

もし認証用のポップアップが表示されたら、Googleアカウントを選択し、画面の指示にしたがって操作していくと、最後に認証キーが発行されます。

認証キーはプログラム内の変数「credentials」に格納されます。

Googleの認証が完了したら、あとは以下のコードを実行するだけでBigQuery上のデータが取得できてしまいます。

import pandas as pd

project_id = 'プロジェクト名'
query = 'SELECT * FROM データセット名.テーブル名 WHERE target_day = "2024-02-17" LIMIT 10'
df = pd.read_gbq(query, project_id, dialect='standard', credentials=credentials)

※プロジェクト名、データセット名、テーブル名はご自身の環境に合わせて適宜変更してください

▼ BigQuery上に保存している 2024/2/17 の気象データを10行だけ取得

たった、数行で直接DataFrameに読み込むことができちゃいました!

BigQueryからCSVとしてデータをダウンロードして、、、という一手間を省くことができます。

  • pydata-google-auth を使えば、自身の持つGoogleアカウント情報と紐づいた認証キーをオブジェクトとして取得できる!
  • Pandasの拡張ライブラリを使用すれば、簡単にBigQueryからデータ取得ができる!