Looker User Meetup Online #8 での発表資料になります
2022/07/21 土川 稔生Lookerとdbtの共存@tvtg_241
View Slide
目次● 自己紹介● Looker導入背景● dbt導入背景● 共存するために🚀2
土川 稔生 (Tsuchikawa Toshiki)● 愛知県出身● 2020年 東工大情報理工学院卒● 株式会社タイミー○ DRE (Data Reliability Engineering) チーム○ データ基盤の開発・保守・運用○ 分析基盤の開発・保守・運用● Twitter @tvtg_243自己紹介
6最近のデータ基盤
7最近のデータ基盤
1 Lookerの導入背景
9Looker導入前
クエリの修正お願いしますこのダッシュボードの作成お願いします10Lookerの導入背景🔥 Redash運用の限界● SQLを書く人によって、項目の定義が異なり数値がずれている。● SQLを書ける人が限られており、素早い意思決定ができない。● SQLを書く人によっては間違ったクエリを書いており、データの信頼性が担保されない。💡 Lookerの導入● Lookerで事前にSQLを定義してあげることで、クエリの書き方によるズレを減らす。● 誰でもダッシュボードを簡単に作成できるようにすることで、データ活用促進を期待
11Looker導入後
2 dbtの導入背景12
13dbtとは💡 ELTのT (データ変換) を担当するツール● Data Build Toolの略称● pythonで開発されており、 SQLに加え、Jinja &Macroを利用が可能○ SQLを用いるので分析チームと知見を共有しやすい○ Jinja & Macroで効率よくコーディングができる● OSS版と有料のCloud版がある○ Cloud版はスケジュール設定、 IDE、CI/CDなどのサポートがされている○ 1人につき 50$/month○ 弊社は導入時2人チームだったこともあり、dbt Cloudを導入
14🔥 ETLのT処理のツール依存性、肥大化、不透明性● troccoなどのembulk以外のデータパイプラインの導入によりT処理がembulkに依存している● embulkのコードを読まないと T処理の内容が把握できず、分析者からすると不透明な処理である● データウェアハウスなどを作り込む際に複雑な加工をする必要があるdbt Cloudの導入💡 dbt Cloudの導入によるELTパイプラインの構築● dbt Cloudを用いてembulkで行っていたT処理を代替● データパイプラインに用いているツールに依存せずに、BigQueryに収集したデータに対して様々な加工が可能に● 加工を一箇所に集めることで、分析者に加工情報を適切に伝えられるように期待マスキングなどの加工処理❌
3 Lookerとdbtの共存15
16LookerのDerived Tableについて💡 LookerのDerived Tableについて● Derived Table (派生テーブル) はLooker上で用いることができるviewテーブルのようなもの● 派生テーブルを永続化することで BigQueryに実テーブルを生成しながら用いることもできる○ PDT (Persistent Derived Table)と呼ばれる● 増分だけを日々更新しながら永続化したりできるDerived Tableの永続化
17dbt (Cloud)による基盤構築💡 dbtによるDWHモデリングについて● dbtとはSQL + JinjaでDWHでの加工をするツール● dbt CloudとdbtのCLIバージョンがあり、 Cloudはインフラなどがマネージドである● DWHをdbtにより複数層構築し、分析用のビジネス要件などを素早く、柔軟に取り込むことができる
18dbt vs PDT🔥 dbt と PDT (永続化したDerived Table) の役割が一部被っている● 特にBIツールに接続する直前のデータ層で被る○ dbt, PDTどちらもデータを書き込むことが可能● 開発の際に迷うので役割を定義する必要がありそう
19dbtとPDTの役割定義💡 LookerのDerived Tableの用途を制限することで解決する● Lookerのみで用いる一時 (中間) テーブルについては Derived Tableを用いる● 永続化に関してはデータスキャン量の大きいテーブルに関しての増分更新などによるメリットを享受できる際に使用する● 他のBIツールで使用するために LookerからPDTによりテーブルを生成することはしない
20さいごにhttps://meety.net/matches/mEJpInxGNfUY https://www.wantedly.com/projects/579810