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.4k
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
6
630
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.4k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
2.3k
dbt_Cloudとdbt_Core併用の試み
ttccddtoki
3
1.2k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.2k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
670
datatech-jp Casual Talks #3
ttccddtoki
0
1k
[輪読会]実践的データ基盤への処方箋
ttccddtoki
0
260
データ基盤品質向上のための一年
ttccddtoki
0
7.7k
Other Decks in Programming
See All in Programming
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Amazon Qを使ってIaCを触ろう!
maruto
0
410
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
最新TCAキャッチアップ
0si43
0
190
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Jakarta EE meets AI
ivargrimstad
0
580
cmp.Or に感動した
otakakot
3
200
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Building an army of robots
kneath
302
43k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Automating Front-end Workflow
addyosmani
1366
200k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Thoughts on Productivity
jonyablonski
67
4.3k
Designing for Performance
lara
604
68k
Designing for humans not robots
tammielis
250
25k
Building Your Own Lightsaber
phodgson
103
6.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
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