$30 off During Our Annual Pro Sale. View Details »

ボッチLookML開発者兼データ整備人を連れてきたよ!

 ボッチLookML開発者兼データ整備人を連れてきたよ!

2022-02-04 フィードフォース社内技術勉強会のプレゼン資料です。
https://developer.feedforce.jp/entry/2022/02/04/180000

Takashi Masuda

February 04, 2022
Tweet

More Decks by Takashi Masuda

Other Decks in Technology

Transcript

  1. 自己紹介 • 増田貴士(@masutaka) • 株式会社フィードフォース Feedmatic 所属 • 前回のFFTT#441から引き続き、個人メインPCは Manjaro

    (Linux) • 最近ようやく重い腰を上げて、証券口座を作ったり、仮 想通貨を購入して手触り(?)を確かめたりしている https://www.feedforce.jp/ 

  2. 今日のお話の立ち位置 • 2000年4月〜2011年3月 ◦ 組み込みエンジニアとして、某社レーザープリンターのファームウェア開発や保守に携わる • 2011年4月〜2020年3月 ◦ ウェブエンジニアとして、某オンライン英会話の予約サービスや、Feedforce各種サービスの 開発や運用に携わる

    • 2020年4月〜 ←今日のお話 ◦ データアーキテクト(データ整備人)やBIエンジニア(LookML開発者)として、Feedmatic (フィードフォースのコンサルティング型広告代理店)へのLooker導入に携わる
  3. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  4. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  5. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  6. 共通化は難しい • 広告代理店という業務は想定以上に共通化が難しかった ◦ 例1: 広告評価に使う指標は案件ごとに違う ◦ 例2: ある取引先のConversion数値はAPIで取得出来ない。メールで送られてくる •

    JumpStartでは1個だったExploreは、現在は59個 ◦ 取引先ごとのExploreが51個と大部分を占める ▪ ※ 全ての取引先で個別Exploreを作っているわけではない ◦ LookML開発において、Exploreを増やすことはアンチパターンだとは知っている... ▪ ※ extends使った最低限の共通化はしています
  7. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  8. 責務範囲どこまで?(1) BigQuery (Data Warehouse) Funnel.io (ETL Service) 広告媒体等 (Criteo, Facebook,

    Google,...) インポート エクスポート Looker 参照
 コンサルの責務 LookML開発者兼データ整備人(ワイ)の責務 このあたりが 曖昧
  9. データ不一致をゼロにすることの難しさ(Funnel.io開発者より) Data mismatches are very tricky to notice and is

    not always due to an error on our side. Some endpoints simply restrict or scramble the data we retrieve from their platforms, which can cause a mismatch that we cannot do anything about unfortunately. A mismatch could also occur because of a user-error, where the data is not handled or aggregated in a correct way. In those cases, we try to make sure that the user understands the issue and often inform them on what to do in order to avoid similar issues in the future. We are constantly striving to reduce the amounts of mismatches on our platform.
  10. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  11. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  12. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  13. 解決方法 • GCPの100%以上の月単位予算アラートを設定した(そん なん出来たんや...) • さらにGoogle Cloud Billing Blockを利用して、1日単位 のアラートも設定した

    • 後日、この「1日単位のアラート」に救われた😂 • 今はDatasetを特定する方法も分かったので、もう楽勝! • 今度ブログ記事書こうかな? https://github.com/llooker/gcp_billing_block 

  14. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  15. データ設計は難しい • Looker SEの方の教えを守り、全取引先のデータを出来る だけ1つのBigQuery Datasetにまとめていた • 平和な日々が続いたが、ある日Google Analytics (GA)の

    インポートパラメータを1つ増やしたら、知らぬ間に Datasetサイズが10倍に... • それが前述のBigQuery料金高騰に繋がったというオチ😭
  16. 解決方法 • GAに関して、全取引先のDatasetを別々にしてスキャン サイズを抑えた ◦ ※ もちろんTime Partitioningは設定済みだった • GAはDatasetの数が1つから50以上に増えた

    • もちろん手作業でFunnel.ioのエクスポート設定x50以上 を作りましたとも😭 • Datasetを別々にしないで出来る方法はあるのかなあ...?
  17. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定
  18. 目次 1. 構成図 2. ヒアリングは難しい 3. 共通化は難しい 4. 責務範囲を定めるのは難しい 5.

    架け橋になる人がいないと難しい 6. LookML開発者を増やす判断は難しい 7. BIでBigQuery料金が高騰すると難しい 8. データ設計は難しい 9. 結局楽しいの? 10. 今後の予定