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

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

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

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

Github

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生成で使うテンプレート

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

0 23 * * * python3 MakeJSON.py
30 0 * * * python3 Execue_embulk.py