Google CloudのBigQueryデータをPythonにインポートする方法
更新日: by Heysho
本記事では、Google Cloud BigQuery に格納されたデータをPythonで分析したい方を対象に、その具体的な手順を解説いたします。
手順は以下の2ステップで進めていきます。
- STEP 1:Google Cloud で認証キー(JSONファイル)を取得する
- STEP 2:Python 環境に Google Cloud のライブラリをインストールする
STEP 1:Google Cloud で認証キーを取得する
Service Accounts メニューへのアクセス
Google Cloud Console にアクセスし、「IAM(Identity and Access Management)」>「サービスアカウント」を選択します。

サービスアカウントの作成
「サービスアカウントを作成」ボタンをクリックし、新規サービスアカウントを作成します。

サービスアカウント名を入力し、次のステップへ進みます。

役割には「BigQuery 管理者」を選択してください。

重要: 「BigQuery ユーザー」など類似の役割が多数存在しますが、選択を誤るとPythonからBigQueryへのアクセス権限が不足する可能性がありますのでご注意ください。
これでサービスアカウントの作成は完了です。

認証キーの発行
作成したサービスアカウントをクリックし、「キー」タブを開き、「キーを追加」>「新しいキーを作成」を選択します。

キーの形式として「JSON」を選択し、「作成」をクリックします。

クリックするとJSONファイルが自動的にダウンロードされます。

ダウンロードしたJSONファイルは、Pythonプロジェクトのフォルダに適切に配置してください。

STEP 2:Python から BigQuery へデータをインポートする
Python 環境への BigQuery ライブラリのインストール
ターミナル/コマンドプロンプト
pip install --upgrade google-cloud-bigquery
Python コードの記述
Python
from google.cloud import bigquery
import os
# 認証ファイルのパスを設定
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/your/service-account-file.json"
# BigQueryクライアントを初期化
client = bigquery.Client()
# クエリを実行
query = """
SELECT * FROM `your-project.your_dataset.your_table`
"""
# データフレームとして取得
df = client.query(query).to_dataframe()
上記のコードにおいて、以下の2点を実際の環境に合わせて変更してください。
- 「path/to/your/service-account-file.json」:ダウンロードしたJSONファイルへの正確なパス
- 「your-project.your_dataset.your_table」:ご利用のプロジェクト名、データセットID、テーブル名(例:test-420302.test.access_log_ga4)
使用例
以下に、実務で活用できるクエリのサンプルコードをご紹介します。
実用的なクエリ例
query = """
SELECT
event_date,
event_name,
COUNT(*) as event_count
FROM `your-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
GROUP BY event_date, event_name
ORDER BY event_date DESC
LIMIT 1000
"""
df = client.query(query).to_dataframe()
print(df.head())
まとめ
Google Cloud BigQueryのデータをPythonにインポートすることで、高度なデータ分析環境を構築し、GA4データの詳細な分析や大規模データセットの効率的な処理が可能になります。
ご不明な点やお困りの場合は、お気軽にコメント欄にてご質問ください。
最後までお読みいただき、誠にありがとうございました。