以下の内容はhttps://www.shigemk2.com/entry/shinjukugl_2より取得しました。
メモ 動画系メディア会社で行われているETLの実際 #shinjukugl
PoC
- SSOTに則ったアーキにしたかった
- API(Golang) Adjust Firebase DWH[Athena BQ] 可視化
- AdjustのデータとかAPIのデータとかが結合化出来ない(SSOTじゃない)
- Athena スキャン従量課金
- SSOTが実現されていること
- 簡素な分析SQL
- window関数やJOINの除去
- スキャンを気にしない
- スキーマレスであること
- 白羽の矢: TreasureData
- リソース課金
- ポストバックが出来るAPIが用意されていること
- スキーマレスDB
- フルマネージドなbulk import/job scheduler
ETL 事例紹介
- https://en.wikipedia.org/wiki/Extract,transform,load
- Firebase Analytics
- BaaSツール
- A/Bテストとかプッシュ通知とかイベントログ計測とか
- BQにイベント計測ログが連携可能
- BQを使っているのでスキャン量とSQLの難読化が問題であった
- FireBase→BQ→GCS→(embulk)→S3→(embulk)→TD
- TreasureWorkflow
- Embulk on EMR
- MapReduce Executorを利用してHadoopクラスター上で分散実行
- 2ステップ
- log用のjarを事前ロード
- MapReduce Executorを利用してEmbulkを起動する
- 大量取り込みができる
- Embulk 実行計画 1レコード1イベントで列指向変換
- AVRO→JSON
- JSON→PlazmaDB
Embulkプラグインの組み合わせ
- Embulkプラグインがないので仕方なく作って組み合わせる
- Java8との格闘
- 差分連携
− Firebase→BQ
- intraday 今日のデータ
- 差分連携を利用して過去ログ積み上げ
- 全量は昨日までのデータ + 今日のデータ
- 今日のデータ = 全量 - 昨日までのデータ
- RedShiftでも出来るけどEmbulkで実現したい
- parser-firebase_avro
- 多種多様なETLをEmbulkプラグインで
- なかったら作る
- Scala勉強しておくとEmbulkプラグインの作成に役立つ
以上の内容はhttps://www.shigemk2.com/entry/shinjukugl_2より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14