Google AnalyticsのデータをBigQueryに投入するPythonスクリプト一式

Cover Image for Google AnalyticsのデータをBigQueryに投入するPythonスクリプト一式
monotalk
monotalk

Google Analytics3の無料版は、BigQueryへのExport機能が使えない。
このため、google2pandasを使って、Google Analytics3からデータを取得し、SQLiteへ分割登録、登録結果を結合してCSVにし、それをGCS経由でBigQueryにインポートするスクリプトを作成した。


スクリプトの置き場

以下のGistに貼り付けて置いてある。


使用方法

Google Cloud Platformの設定をひととおり実施。
BigQueryのデータセット、GCSにディレクトリを作成。
スクリプト内の設定値を書き換えた上で、以下のようにコマンドを実行する。

python3 ga_to_sqlite.py 2018-03-18
python3 merge_data_to_gcs.py 2018-03-18
python3 load_data_to_bigquery_from_gcs.py 2018-03-18

これで 2018-03-18 のデータがBigQueryに保存される。


ga_to_sqlite.py の アウトプット

  • 1日分のデータ取得で作成されるテーブルの一覧
select name from sqlite_master where type='table' and name like '%20180318%';
  • 結果
"ga_sessions_20180318_USER"
"ga_sessions_20180318_SESSION"
"ga_sessions_20180318_TRAFFIC0"
"ga_sessions_20180318_TRAFFIC1"
"ga_sessions_20180318_TRAFFIC2"
"ga_sessions_20180318_GOAL_CONVERSIONS"
"ga_sessions_20180318_GOAL_CONVERSIONS1"
"ga_sessions_20180318_GOAL_CONVERSIONS2"
"ga_sessions_20180318_GOAL_CONVERSIONS3"
"ga_sessions_20180318_GOAL_CONVERSIONS4"
"ga_sessions_20180318_GOAL_CONVERSIONS5"
"ga_sessions_20180318_PLATFORM_OR_DEVICE0"
"ga_sessions_20180318_PLATFORM_OR_DEVICE1"
"ga_sessions_20180318_PLATFORM_OR_DEVICE2"
"ga_sessions_20180318_GEO_NETWORK0"
"ga_sessions_20180318_GEO_NETWORK1"
"ga_sessions_20180318_GEO_NETWORK2"
"ga_sessions_20180318_GEO_NETWORK3"
"ga_sessions_20180318_SYSTEM0"
"ga_sessions_20180318_SYSTEM1"
"ga_sessions_20180318_PAGE_TRACKING0"
"ga_sessions_20180318_PAGE_TRACKING1"
"ga_sessions_20180318_PAGE_TRACKING2"
"ga_sessions_20180318_PAGE_TRACKING3"
"ga_sessions_20180318_EVENT_TRACKING"
"ga_sessions_20180318_CUSTOM_VARIABLES_OR_COLUMNS0"
"ga_sessions_20180318_CUSTOM_VARIABLES_OR_COLUMNS1"
"ga_sessions_20180318_CUSTOM_VARIABLES_OR_COLUMNS2"
"ga_sessions_20180318_CUSTOM_VARIABLES_OR_COLUMNS3"
"ga_sessions_20180318_CUSTOM_VARIABLES_OR_COLUMNS4"