![見出し画像](https://assets.st-note.com/production/uploads/images/160826716/rectangle_large_type_2_b28fb31d420baad5ddf4a4d269efb4f1.png?width=1200)
セミナーメモ:データ基盤を進化させるDatabricksとdbtの実践的活用術
下記オンラインセミナーの受講メモ
2024/11/06開催
データ基盤を進化させるDatabricksとdbtの実践的活用術
主催:dbt Labs, データブリックス・ジャパン, 株式会社エーピーコミュニケーションズ
dbt
by dbt Labs
Why dbt ?
![](https://assets.st-note.com/img/1730877002-Mu7AmTiqoOybsHFpBndLPU2f.png?width=1200)
![](https://assets.st-note.com/img/1730877033-iEqy3Fu4j8TXAra7KsPkvS9d.png?width=1200)
これらの課題を解決するのがdbt。
dbtはエコシステムが充実。多くのシステム・サービスと結合可能
![](https://assets.st-note.com/img/1730877106-IXPNsGLuU1aZATbnEOg0edfy.png?width=1200)
データやコンピューティングリソースはDatabricksに依存
dbtはDatabricksの処理を手助けする立ち位置
![](https://assets.st-note.com/img/1730877253-1LheW8ctxCJEmUjHqaZYSgDy.png?width=1200)
Databricksにdbtを組み合わせる理由
![](https://assets.st-note.com/img/1730877418-iI9htYZzK2acCNEJxrGgenU7.png?width=1200)
Databricks
by データブリックス・ジャパン
What's Databricks ?
データレイクハウスが一番のdatabricksの意義
![](https://assets.st-note.com/img/1730878398-0umfZXaDiVG4ULTlvBgSECwQ.png?width=1200)
![](https://assets.st-note.com/img/1730878361-sQxcSdX4KyGbjevHkIlAP3Fp.png?width=1200)
👇️ざっくり整理すると
![](https://assets.st-note.com/img/1730878459-TIB9G8CZwa2HMvkRr7ELAdXt.png?width=1200)
databricks導入前のイメージ
![](https://assets.st-note.com/img/1730878564-ojSpUK0yrVtwFBxRMcPke4Cd.png?width=1200)
![](https://assets.st-note.com/img/1730878680-evGQxSkAmLwdj5uKMCiRFI0f.png?width=1200)
機能も豊富。ウェアハウス機能もあるし、
サーバレスだし、包括的データガバナンスもできるし、ストリーミングも得意
dbt + Databricks
メリットは?
![](https://assets.st-note.com/img/1730878800-xRHaumzJObog4YysTCEZlwrM.png?width=1200)
streaming_table, materialized_view
→dbtは関係ないのでは?
![](https://assets.st-note.com/img/1730879190-IdKFB54rgzYcpUuwJXts9ji6.png?width=1200)
ベストプラクティス
dbtを活用するうえで、こうしましょう、な話
![](https://assets.st-note.com/img/1730879493-Z58dkvG4g1JHDPRLaotcUrWI.png?width=1200)
機能の使い分け
DatabricksもETLな処理を色々できる
![](https://assets.st-note.com/img/1730879629-aWke1UEA6M7I83CGr4opjhfY.png?width=1200)
DLT?
Delta Live Tables
![](https://assets.st-note.com/img/1730879727-KbX6uRcvMU78YSIZoxhjneaP.png?width=1200)
dbt vs DLT 比較
![](https://assets.st-note.com/img/1730879977-Yc3T18tzSegvP2QHG457ZyCd.png?width=1200)
使い分け
![](https://assets.st-note.com/img/1730880088-AXjYEz9bRf5MJGo80Nan2Si1.png?width=1200)
疑問と整理
dbtに頼らずともDatabricksでETL/ELT機能を実現できる。
Unity Catalogを用いればデータガバナンスもできる。
データリネージュ機能も提供されるようになっている。
等といった理由から「dbtを使わなくても、Databricksでもある程度できるじゃん」という素朴な疑問がある。
これに対する一つの回答が、前述の「機能の使い分け」にあるように思われる。
実際のところ「たしかにDatabricksでやれる」という答えでありそう。
加えて「他のDWHと共存」であったり「pythonよりSQL寄り」といった事情がある際はdbtを追加で利用する選択肢があるように思われる。
エーピーコミュニケーションズ
事業・サービス紹介
![](https://assets.st-note.com/img/1730880336-uqXmygfQLUOJnRlBr5TsYw4M.png?width=1200)
セマンティックレイヤー
課題感
![](https://assets.st-note.com/img/1730881775-KjZN9oRbMIacPCvn0x4W58US.png?width=1200)
DWHの前段に抽象レイヤーを噛ませることでデータを利活用しやすくする
![](https://assets.st-note.com/img/1730881786-CNij4lYDyvtr9MsAVpZuW8kX.png?width=1200)
![](https://assets.st-note.com/img/1730881834-FGg8TaOUZioAwYStBCIzmWPj.png?width=1200)
![](https://assets.st-note.com/img/1730881856-dFwhvD3srM4AWc7kL8e52KSI.png?width=1200)
dbtで抽象レイヤーを作る
その抽象レイヤー化した情報をもとにDatabricks側からクエリする
Databricksありき
それに対する抽象レイヤーをdbtで定義
dbtで定義した情報を改めてDatabricks側から利用
ってこと?一旦無駄にdbtを経由しているような気がして面白い
(が、これがセマンティックレイヤーであることは理解できる)
dbtとDatabricksを組み合わせる価値
![](https://assets.st-note.com/img/1730882204-wRpOBuzoIZxcKWJ4lTb3hEA7.png?width=1200)