Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lookerとdbtの共存
Search
Toshiki Tsuchikawa
July 21, 2022
Programming
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lookerとdbtの共存
Looker User Meetup Online #8 での発表資料になります
Toshiki Tsuchikawa
July 21, 2022
More Decks by Toshiki Tsuchikawa
See All by Toshiki Tsuchikawa
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
8
4.4k
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
2
1.5k
タイミーにおけるデータ活用の未来
ttccddtoki
0
560
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
940
アジリティの高いデータ基盤を目指して
ttccddtoki
4
2k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
3.4k
dbt_Cloudとdbt_Core併用の試み
ttccddtoki
3
1.7k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.6k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
1.1k
Other Decks in Programming
See All in Programming
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
180
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
810
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
210
すこし踏み込む CancellationToken
htkym
2
1.5k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
740
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
350
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
速習iPhone Duo対応
yuukiw00w
2
910
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
580
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Six Lessons from altMBA
skipperchong
29
4.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Become a Pro
speakerdeck
PRO
31
6.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Into the Great Unknown - MozCon
thekraken
41
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Everyday Curiosity
cassininazir
0
340
30 Presentation Tips
portentint
PRO
1
410
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
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