Data Lake からschedule queryで ID Mapping Tableを作成
・login_idとそれに紐づくID(idfaやcookieなど)をマッピングしたテーブル
→ イベントログをlogin_id単位で見れるようにするために作成
・前日分だけの集計値とすでにある集計済みテーブルをfull joinしていくような処理をする。
→ adidは配列にアペンド, 広告IDはadidに対しての最新値を配列にアペンドするようにする
※ adidはadjustが発番しているIDで端末ユニークになる
【App】Data Lake → DWH → Data Mart
login_id adid aa [aaa,bbb] 処理前日までの状態 login_id adid aa [bbb,ccc] 処理当日のデータを集計 login_id bf_adid af_adid aa [aaa,bbb] [bbb,ccc] full join login_id adid aa [aaa,bbb,ccc] 2つの配列をくっつけてユニークにする。 以下サンプル (※ どちらかの配列が nullの場合はエラーになるのでケアが必要 ) SELECT login_id, (SELECT ARRAY_AGG(DISTINCT adid_array IGNORE NULLS) FROM UNNEST(ARRAY_CONCAT(bf_adid, af_adid)) adid_array) adid FROM table 処理のイメージ