MySQL+EmbulkでBQにデータを送ってみる

MySQLのデータをBigqueryに転送する。

固定のテーブルを送信する方法は
https://qiita.com/tashiro_gaku/items/f7fa0f1a99c759d947a7
とかに書いているけどけど、やりたかったのは

1) ログ保存テーブルは、updateカラムを見て差分でBigqueryに送信する。
2) 一部のテーブルは、全レコードBigqueryに送信する。
3) 上記、1、2の対象テーブルはconfファイルを読んで動的に動かしたい
(出来れば運用側で勝手に対象テーブルの追加、削除をやって欲しい。。。)

Github

[code]

MakeJSON.py # jsonとyamlを生成
Execue_embulk.py # Embulk転送の実行
conf/embulk_json/ # 対象テーブルを元にBQ転送時の定義ファイルが作成される
embulk_yaml/ # 対象テーブルを元にEmbulk実行時の定義ファイルが作成される
keys/ # BQ接続時のjson_keyを置く
conf.yaml # MySQLのログイン情報、対象テーブルの情報を定義
embulk_tmp # Embulkのyaml生成で使うテンプレート

[/code]

使い方
MakeJSON.pyの実行はいつでもいいがExecue_embulk.pyは前日分も送信するので、日付が変わってから実行する。

[code]
0 23 * * * python3 MakeJSON.py
30 0 * * * python3 Execue_embulk.py
[/code]