Google Colaboratory と BigQuery の接続

BigQueryのデータをPythonで扱いたい場面は多くあるかと思います。今回はGoogle Colaboratoryで触りたい場合にBigQueryのデータを直接参照する手順を示します。

前提条件

  • Google Colaboratoryでノートブックが新規作成されている

  • BigQueryにデータが存在する

手順

pandas-gbqパッケージを使用します。Google Colaboratoryには予め用意されていますが、ローカル環境で使用する場合にはpandasとは別に下記コマンドでダウンロードして下さい。

$ pip3 install pandas-gbq

ライブラリをインポートします。

import pandas as pd

必要な情報はプロジェクトIDのみです。対象に対する実行クエリをqueryとして格納します。

project_id = '[project-id]'
query = 'SELECT * FROM [table]'

pandas.read_gbq()モジュールに設定したプロジェクトIDとクエリを渡すことで実行されます。使いやすいですね。

pd.read_gbq(query, project_id, dialect='standard')

Googleアカウントの認証および認証用URLが発行されるのでアクセスし認証コードをコピーします。

Please visit this URL to authorize this application: [認証用URL]
Enter the authorization code:[            ]

コピーした認証コードをGoogle Colaboratoryの空欄にペーストしEnterを押すことで接続されます。(キャッシュとして保存されるためページを閉じない限り二回目以降は聞かれません。)

※出力結果

pandasの特徴であるDataFrameの形式でインポートされます。

おわりに

pandas-gbqには今回とは逆にDataframe形式のデータをBigQueryにインポートするモジュールも用意されているのでBigQueryのデータを持ってきてラベリングやone-hotエンコーディングによる加工を行いアップロードする、といった手順にも活用できます。また機会があれば紹介したいと思います。バイバイ


この記事が気に入ったらサポートをしてみませんか?