Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lookerとdbtの共存
Search
Toshiki Tsuchikawa
July 21, 2022
Programming
1
1.3k
Lookerとdbtの共存
Looker User Meetup Online #8 での発表資料になります
Toshiki Tsuchikawa
July 21, 2022
Tweet
Share
More Decks by Toshiki Tsuchikawa
See All by Toshiki Tsuchikawa
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.3k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
5
2.1k
dbt_Cloudとdbt_Core併用の試み
ttccddtoki
3
1.1k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.1k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
580
datatech-jp Casual Talks #3
ttccddtoki
0
960
[輪読会]実践的データ基盤への処方箋
ttccddtoki
0
240
データ基盤品質向上のための一年
ttccddtoki
0
7.5k
embulk, digdagによるデータ基盤構築
ttccddtoki
4
2k
Other Decks in Programming
See All in Programming
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
550
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
210
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
180
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
200
ESLint Rule により事業, 技術ドメインに沿った制約と誓約を敷衍させるアプローチのすゝめ
shinyaigeek
1
2.7k
Some more adventure of Happy Eyeballs
coe401_
2
150
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
2
240
ゲームボーイアドバンスでSwiftを動かそう
k_koheyi
0
510
LangChainの現在とv0.3にむけて
os1ma
3
650
快適な開発と高セキュリティを実現するCryptoKitを活用したCoreDataのデータ暗号化術
grandbig
1
300
connect-go で面倒くささと戦う / 2024-08-27 #newmo_layerx_go
izumin5210
2
590
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
220
Featured
See All Featured
Side Projects
sachag
451
42k
5 minutes of I Can Smell Your CMS
philhawksworth
201
19k
Writing Fast Ruby
sferik
623
60k
Web Components: a chance to create the future
zenorocha
308
41k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
4 Signs Your Business is Dying
shpigford
179
21k
Fireside Chat
paigeccino
31
2.9k
The Brand Is Dead. Long Live the Brand.
mthomps
53
37k
Designing for humans not robots
tammielis
248
25k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Into the Great Unknown - MozCon
thekraken
28
1.4k
Statistics for Hackers
jakevdp
793
220k
Transcript
2022/07/21 土川 稔生 Lookerとdbtの共存 @tvtg_24 1
目次 • 自己紹介 • Looker導入背景 • dbt導入背景 • 共存するために🚀 2
土川 稔生 (Tsuchikawa Toshiki) • 愛知県出身 • 2020年 東工大情報理工学院卒 •
株式会社タイミー ◦ DRE (Data Reliability Engineering) チーム ◦ データ基盤の開発・保守・運用 ◦ 分析基盤の開発・保守・運用 • Twitter @tvtg_24 3 自己紹介
None
None
6 最近のデータ基盤
7 最近のデータ基盤
1 Lookerの導入背景
9 Looker導入前
クエリの修正お 願いします このダッシュボードの 作成お願いします 10 Lookerの導入背景 🔥 Redash運用の限界 • SQLを書く人によって、項目の定義が異なり数値
がずれている。 • SQLを書ける人が限られており、素早い意思決定 ができない。 • SQLを書く人によっては間違ったクエリを書いてお り、データの信頼性が担保されない。 💡 Lookerの導入 • Lookerで事前にSQLを定義してあげることで、ク エリの書き方によるズレを減らす。 • 誰でもダッシュボードを簡単に作成できるようにす ることで、データ活用促進を期待
11 Looker導入後
2 dbtの導入背景 12
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を導入
14 🔥 ETLのT処理のツール依存性、肥大化、不透明性 • troccoなどのembulk以外のデータパイプライン の導入によりT処理がembulkに依存している • embulkのコードを読まないと T処理の内容が 把握できず、分析者からすると不透明な処理
である • データウェアハウスなどを作り込む際に複雑な 加工をする必要がある dbt Cloudの導入 💡 dbt Cloudの導入によるELTパイプラインの構築 • dbt Cloudを用いてembulkで行っていたT処理 を代替 • データパイプラインに用いているツールに依存 せずに、BigQueryに収集したデータに対して 様々な加工が可能に • 加工を一箇所に集めることで、分析者に加工 情報を適切に伝えられるように期待 マスキングなどの加工処理 ❌
3 Lookerとdbtの共存 15
16 LookerのDerived Tableについて 💡 LookerのDerived Tableについて • Derived Table (派生テーブル)
はLooker上で用いるこ とができるviewテーブルのようなもの • 派生テーブルを永続化することで BigQueryに実テーブ ルを生成しながら用いることもできる ◦ PDT (Persistent Derived Table)と呼ばれる • 増分だけを日々更新しながら永続化したりできる Derived Tableの永続化
17 dbt (Cloud)による基盤構築 💡 dbtによるDWHモデリングについて • dbtとはSQL + JinjaでDWHでの加工をするツール •
dbt CloudとdbtのCLIバージョンがあり、 Cloudはインフラなどがマネージドである • DWHをdbtにより複数層構築し、分析用のビジネス要件などを素早く、柔軟に取り込むことができる
18 dbt vs PDT 🔥 dbt と PDT (永続化したDerived Table)
の役割が一部被っている • 特にBIツールに接続する直前のデータ層で被る ◦ dbt, PDTどちらもデータを書き込むことが可能 • 開発の際に迷うので役割を定義する必要がありそう
19 dbtとPDTの役割定義 💡 LookerのDerived Tableの用途を制限することで解決する • Lookerのみで用いる一時 (中間) テーブルについては Derived
Tableを用いる • 永続化に関してはデータスキャン量の大きいテーブルに関しての増分更新などによるメリットを享受できる際に使 用する • 他のBIツールで使用するために LookerからPDTによりテーブルを生成することはしない
20 さいごに https://meety.net/matches/mEJpInxGNfUY https://www.wantedly.com/projects/579810