Slide 1

Slide 1 text

2022/07/21 土川 稔生 Lookerとdbtの共存 @tvtg_24 1

Slide 2

Slide 2 text

目次 ● 自己紹介 ● Looker導入背景 ● dbt導入背景 ● 共存するために🚀 2

Slide 3

Slide 3 text

土川 稔生 (Tsuchikawa Toshiki) ● 愛知県出身 ● 2020年 東工大情報理工学院卒 ● 株式会社タイミー ○ DRE (Data Reliability Engineering) チーム ○ データ基盤の開発・保守・運用 ○ 分析基盤の開発・保守・運用 ● Twitter @tvtg_24 3 自己紹介

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

6 最近のデータ基盤

Slide 7

Slide 7 text

7 最近のデータ基盤

Slide 8

Slide 8 text

1 Lookerの導入背景

Slide 9

Slide 9 text

9 Looker導入前

Slide 10

Slide 10 text

クエリの修正お 願いします このダッシュボードの 作成お願いします 10 Lookerの導入背景 🔥 Redash運用の限界 ● SQLを書く人によって、項目の定義が異なり数値 がずれている。 ● SQLを書ける人が限られており、素早い意思決定 ができない。 ● SQLを書く人によっては間違ったクエリを書いてお り、データの信頼性が担保されない。 💡 Lookerの導入 ● Lookerで事前にSQLを定義してあげることで、ク エリの書き方によるズレを減らす。 ● 誰でもダッシュボードを簡単に作成できるようにす ることで、データ活用促進を期待

Slide 11

Slide 11 text

11 Looker導入後

Slide 12

Slide 12 text

2 dbtの導入背景 12

Slide 13

Slide 13 text

13 dbtとは 💡 ELTのT (データ変換) を担当するツール ● Data Build Toolの略称 ● pythonで開発されており、 SQLに加え、Jinja & Macroを利用が可能 ○ SQLを用いるので分析チームと知見を 共有しやすい ○ Jinja & Macroで効率よくコーディングが できる ● OSS版と有料のCloud版がある ○ Cloud版はスケジュール設定、 IDE、 CI/CDなどのサポートがされている ○ 1人につき 50$/month ○ 弊社は導入時2人チームだったこともあ り、dbt Cloudを導入

Slide 14

Slide 14 text

14 🔥 ETLのT処理のツール依存性、肥大化、不透明性 ● troccoなどのembulk以外のデータパイプライン の導入によりT処理がembulkに依存している ● embulkのコードを読まないと T処理の内容が 把握できず、分析者からすると不透明な処理 である ● データウェアハウスなどを作り込む際に複雑な 加工をする必要がある dbt Cloudの導入 💡 dbt Cloudの導入によるELTパイプラインの構築 ● dbt Cloudを用いてembulkで行っていたT処理 を代替 ● データパイプラインに用いているツールに依存 せずに、BigQueryに収集したデータに対して 様々な加工が可能に ● 加工を一箇所に集めることで、分析者に加工 情報を適切に伝えられるように期待 マスキングなどの加工処理 ❌

Slide 15

Slide 15 text

3 Lookerとdbtの共存 15

Slide 16

Slide 16 text

16 LookerのDerived Tableについて 💡 LookerのDerived Tableについて ● Derived Table (派生テーブル) はLooker上で用いるこ とができるviewテーブルのようなもの ● 派生テーブルを永続化することで BigQueryに実テーブ ルを生成しながら用いることもできる ○ PDT (Persistent Derived Table)と呼ばれる ● 増分だけを日々更新しながら永続化したりできる Derived Tableの永続化

Slide 17

Slide 17 text

17 dbt (Cloud)による基盤構築 💡 dbtによるDWHモデリングについて ● dbtとはSQL + JinjaでDWHでの加工をするツール ● dbt CloudとdbtのCLIバージョンがあり、 Cloudはインフラなどがマネージドである ● DWHをdbtにより複数層構築し、分析用のビジネス要件などを素早く、柔軟に取り込むことができる

Slide 18

Slide 18 text

18 dbt vs PDT 🔥 dbt と PDT (永続化したDerived Table) の役割が一部被っている ● 特にBIツールに接続する直前のデータ層で被る ○ dbt, PDTどちらもデータを書き込むことが可能 ● 開発の際に迷うので役割を定義する必要がありそう

Slide 19

Slide 19 text

19 dbtとPDTの役割定義 💡 LookerのDerived Tableの用途を制限することで解決する ● Lookerのみで用いる一時 (中間) テーブルについては Derived Tableを用いる ● 永続化に関してはデータスキャン量の大きいテーブルに関しての増分更新などによるメリットを享受できる際に使 用する ● 他のBIツールで使用するために LookerからPDTによりテーブルを生成することはしない

Slide 20

Slide 20 text

20 さいごに https://meety.net/matches/mEJpInxGNfUY
 https://www.wantedly.com/projects/579810