dbtとは?
でぃービーてぃー
dbtとは、データウェアハウス内でSQLを使ってデータ変換・モデリングを行うためのオープンソースのデータ変換ツールです。
dbt(data build tool)は、データウェアハウス(DWH)やデータレイクハウス内のデータ変換処理をSQLで記述・管理するためのオープンソースのコマンドラインツール(および商用クラウドサービス)です。Fishtown Analyticsが開発し、現在はdbt Labsが提供しています。
従来のデータエンジニアリングでは、ETLパイプラインの「Transform(変換)」部分はPythonスクリプトや複雑なストアドプロシージャで書かれることが多く、可読性やテストが困難でした。dbtはこの課題を解決するため、以下の機能を提供します。
- SQLでのモデル定義: 各変換処理を.sqlファイルのSELECT文として定義します。dbtが自動的にCREATE TABLE/VIEWに変換して実行します。
- 依存関係管理: モデル間の依存関係をrefマクロで宣言すると、dbtが正しい実行順序を解決します。
- テスト: 列のNOT NULL・ユニーク性・参照整合性などをYAML設定で宣言的にテストできます。
- ドキュメント自動生成: 説明を記述するとデータリネージ(データの流れ)を可視化したドキュメントが自動生成されます。
BigQuery・Snowflake・Redshift・DatabricksなどほぼすべてのDWHに対応しており、「ELT(Extract-Load-Transform)」アーキテクチャにおける変換層の標準ツールとして、モダンデータスタックに不可欠な存在となっています。
使い方・例文
Redshiftに取り込んだ生のイベントログをdbtモデルとしてSQLで変換し、セッション単位の集計テーブルや日次アクティブユーザー数テーブルを定義することで、BIツールからすぐに使える状態のデータを自動的に生成できます。
この用語をシェア
最終更新: