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
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
1
160
タイミーにおけるデータ活用の未来
ttccddtoki
0
40
急成長する組織を支えるデータ基盤のこれまで、これから
ttccddtoki
6
710
アジリティの高いデータ基盤を目指して
ttccddtoki
4
1.5k
DMBOKを参考にしたデータマネジメントの取り組み
ttccddtoki
6
2.5k
dbt_Cloudとdbt_Core併用の試み
ttccddtoki
3
1.3k
データ品質を重視したデータ基盤プロダクト開発
ttccddtoki
8
2.3k
タイミーの未来を支えるデータ基盤プロダクト
ttccddtoki
1
750
datatech-jp Casual Talks #3
ttccddtoki
0
1k
Other Decks in Programming
See All in Programming
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
Package Traits
ikesyo
1
210
Scaling your build logic
antalmonori
1
100
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
선언형 UI에서의 상태관리
l2hyunwoo
0
270
ErdMap: Thinking about a map for Rails applications
makicamel
1
660
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
Amazon Nova Reelの可能性
hideg
0
200
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Adopting Sorbet at Scale
ufuk
74
9.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Making the Leap to Tech Lead
cromwellryan
133
9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
GitHub's CSS Performance
jonrohan
1030
460k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Bash Introduction
62gerente
610
210k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
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