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
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
cmp.Or に感動した
otakakot
3
170
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
920
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
初めてDefinitelyTypedにPRを出した話
syumai
0
410
Ethereum_.pdf
nekomatu
0
460
みんなでプロポーザルを書いてみた
yuriko1211
0
260
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
subpath importsで始めるモック生活
10tera
0
300
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Better Code Design in PHP
afilina
PRO
0
130
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
A Philosophy of Restraint
colly
203
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
96
The World Runs on Bad Software
bkeepers
PRO
65
11k
Unsuck your backbone
ammeep
668
57k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Side Projects
sachag
452
42k
KATA
mclloyd
29
14k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
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