📋 概要
dbtに関する最新技術記事を収集しました。Qiita、dev.to、技術ブログRSSから2件の記事をピックアップしています。
📊 収集統計
- Qiita記事: 2件
- dev.to記事: 0件
- RSS記事: 0件
- 収集日: 2025-10-16
🧰 基本機能の概要
🧭 主要なコマンド
📝 開発時によく使うTips
を整理して紹介します👇
🧰 dbt の基本機能
| 機能名 | 説明 | 例 |
|---|---|---|
| モデル(Models) | SQLファイルで変換ロジックを定義し、dbt run で実行してテーブル/ビューを作成 | models/orders.sql |
| マクロ(Macros) | Jinjaテンプレートで共通処理を部品化 | {{ my_macro('arg') }} |
| テスト(Tests) | データの品質チェック。not_null や unique などの汎用テストのほか、自作テストも可能 | dbt test |
| ドキュメント生成 | モデルやカラムの説明・依存関係グラフを自動生成 | dbt docs generate / dbt docs serve |
| 依存関係管理 | ref() でモデル間の依存関係を明示化 | SELECT * FROM {{ ref('orders') }} |
| 環境管理 | profiles.yml で接続先(BigQuery, Snowflake, Redshiftなど)を管理 | 開発・本番の切り替えが容易 |
| スナップショット | 過去データの履歴管理(SCD2対応) | dbt snapshot |
| ソース(Sources) | 元データテーブルを明示的に定義 | {{ source('raw', 'customers') }} |
🧭 よく使う dbt コマンド
| コマンド | 内容 | よく使う場面 |
|---|---|---|
dbt debug | 接続確認・環境チェック | 初回セットアップ時 |
dbt run | モデルを実行してテーブル/ビューを生成 | 本番・開発実行 |
dbt run --select model_name | 特定モデルだけ実行 | 部分的な再実行 |
dbt test | 定義済みのテストを実行 | 品質チェック |
dbt build | run + test + snapshot + seed をまとめて実行 | 本番リリース時 |
dbt docs generate | ドキュメントを生成 | グラフやモデル説明作成 |
dbt docs serve | ローカルでドキュメントをWeb表示 | 依存関係の可視化 |
dbt seed | CSVからテーブルを作成 | マスタデータの取り込み |
dbt snapshot | スナップショット実行 | 履歴管理 |
dbt clean | キャッシュなどの不要ファイル削除 | 環境リセット |
dbt deps | 外部パッケージのインストール | packages.yml 変更時 |
📝 開発でよく使う Tips
1. モデルの依存関係を明示する
| |
👉 ref を使うことで、依存順に自動で実行されるようになります。
2. ソースを明示してデータ基盤をドキュメント化
| |
| |
3. カラムテストを設定
| |
👉 dbt test で自動的に品質チェックが走る。
4. テンプレート化(マクロ)
| |
| |
5. モデルの依存関係をグラフで確認
| |
→ http://localhost:8080 にアクセスすると、DAG(依存関係グラフ)が見られます✨
🧪 よく使う開発フロー(例)
dbt debugで接続チェックdbt run --select my_modelでモデル作成dbt testで品質確認dbt docs generate && dbt docs serveで可視化- 本番時は
dbt buildを実行
🏗️ よく使われる連携
- BigQuery / Snowflake / Redshift / Databricks など主要DWHに対応
- GitHub Actions や Prefect / Airflow でCI/CD連携可能
- Looker / Tableau / Hex などのBIツールと併用されるケース多数
🔗 関連リンク
- GitHub: https://github.com/topics/dbt
- Stack Overflow: https://stackoverflow.com/questions/tagged/dbt
このデータモデルを実行します。今度はCREATE VIEWと表示されましたね。ちなみに–full-refreshというオプションをつけている理由ですが、先程の検証で、このデータモデルは既にテーブルとして存在しているため、そのまま実行してもエラーになります。同データモデルを「完全に作り直す」ために、このオプションを使用しています。
$ dbt run –models stg_orders –full-refresh
📝 まとめ
dbtの最新動向をお届けしました。継続的な学習と実践により、技術の理解を深めていきましょう!
この記事は自動収集システムにより生成されました。記事の詳細は各リンク先をご確認ください。
