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"