メモ 動画系メディア会社で行われているETLの実際 #shinjukugl
- デリッシュキッチンのアレ
PoC
- SSOTに則ったアーキにしたかった
- アプリケーションの状態は一元管理されるべきであること
- https://en.wikipedia.org/wiki/Single_source_of_truth
- 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 Analytics
- FireBase→BQ→GCS→(embulk)→S3→(embulk)→TD
- TreasureWorkflow
- Digdagのフルマネージドジョブスケジューラー
- https://docs.treasuredata.com/articles/workflows
- https://cloud.google.com/storage/
- 処理系はサーバーレス構成
- Lambdaでインスタンス操作
- 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
- akka + redis
- 多種多様なETLをEmbulkプラグインで
- なかったら作る
- Scala勉強しておくとEmbulkプラグインの作成に役立つ
RAH リアルアクションヒーローズ GENESIS No.776 仮面ライダーアマゾンズ シーズン2 仮面ライダーアマゾン ニューオメガ 全高約300mm 塗装済み 可動フィギュア
- 出版社/メーカー: メディコム・トイ
- 発売日: 2018/07/31
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る