■ はじめに
dbt の良さとか、何ができるかってのを徐々にだがメモしていく
目次
【1】dbt 【2】サポートデータプラットフォーム 【3】利点 1)環境の切替が容易 2)シンプルな実装が可能 3)ドキュメント生成 4)テストの自動化 【4】動画
【1】dbt
* dbt = data build tool * ELT(抽出, 変換, 格納)の Transform(変換)を担うツール
【2】サポートデータプラットフォーム
* 主要なDWHは、網羅されているといっていいかも。
https://docs.getdbt.com/docs/supported-data-platforms
* Snowflake * PostgreSQL * Redshift * Spark * Databricks etc...
【3】利点
1)環境の切替が容易 2)シンプルな実装が可能 3)ドキュメント生成 4)テストの自動化 などなど
1)環境の切替が容易
* 以下の環境について、YAMLの設定ファイルで切替が容易 + Dev/Stage/Prodなどの環境単位 ... .dbt/profiles.yml + Database/Schema 単位 ... models\[MODEL_NAME]\scheme.yml
2)シンプルな実装が可能
* CTE(WIHT句)により、ネストの少ないスクリプトを実装可能 * マクロ機能や変数により、共通部品化することにより DRY(Don't Repeat yourself)原則に当てはめることが可能
3)ドキュメント生成
* モデルやフィールドの説明を記載 * モデルの依存関係を図で可視化が可能 => 詳細は、以下の関連記事を参照のこと
dbt ~ ドキュメント化 / dbt docs ~
https://dk521123.hatenablog.com/entry/2023/12/10/125512
4)テストの自動化
* 「dbt test」により(今までになかった) SQLの自動テストが可能
【4】動画
* 公式
https://courses.getdbt.com/collections/beginner
参考文献
https://dev.classmethod.jp/articles/dbt-overview-2023/
https://engineer.retty.me/entry/2022/09/14/172635
https://www.flywheel.jp/topics/what_is_dbt/
https://zenn.dev/dbt_tokyo/books/537de43829f3a0/viewer/what_dbt
関連記事
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
dbt ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/12/16/152147
dbt ~ 環境設定 / Docker 編 ~
https://dk521123.hatenablog.com/entry/2024/10/11/230419
dbt ~ 基本編 / Model ~
https://dk521123.hatenablog.com/entry/2023/11/25/231128
dbt ~ DB/Schema/Table の指定方法 ~
https://dk521123.hatenablog.com/entry/2024/09/29/185918
dbt ~ Model あれこれ ~
https://dk521123.hatenablog.com/entry/2023/11/26/224522
dbt ~ 基本編 / Source ~
https://dk521123.hatenablog.com/entry/2023/12/08/111012
dbt ~ 基本編 / Seed ~
https://dk521123.hatenablog.com/entry/2023/11/20/230946
dbt ~ Hooks ~
https://dk521123.hatenablog.com/entry/2023/12/11/040122
dbt ~ aliases ~
https://dk521123.hatenablog.com/entry/2023/12/13/031018
dbt ~ 更新 / 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/12/07/060129
dbt ~ 更新 / Update or Insert / Insert ~
https://dk521123.hatenablog.com/entry/2023/12/19/224453
dbt ~ 更新 / Delete and Insert ~
https://dk521123.hatenablog.com/entry/2023/12/20/000104
dbt ~ 更新 / DROP + CTAS ~
https://dk521123.hatenablog.com/entry/2023/12/04/000000
dbt ~ ドキュメント化 / dbt docs ~
https://dk521123.hatenablog.com/entry/2023/12/10/125512
dbt ~ dbt CLI ~
https://dk521123.hatenablog.com/entry/2024/07/21/234811
dbt Macro ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/11/29/003751
dbt Macro ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2024/10/22/002940
dbt Macro ~ DWHごとに処理切替 / adapter.dispach ~
https://dk521123.hatenablog.com/entry/2024/08/20/150724
dbt ~ 条件分岐 ~
https://dk521123.hatenablog.com/entry/2024/09/11/003301
dbt で生成されるSQL文を確認する
https://dk521123.hatenablog.com/entry/2024/08/25/002741
dbt ~ Snowflakeテーブル ~
https://dk521123.hatenablog.com/entry/2024/08/29/153801
dbt 設定初期時でのトラブル
https://dk521123.hatenablog.com/entry/2023/06/19/000000
dbt を v1.8 に更新後エラー
https://dk521123.hatenablog.com/entry/2024/08/24/002455
動的なdbt 実行時でのトラブル
https://dk521123.hatenablog.com/entry/2024/09/10/145921
Python with dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/07/20/034930
Python with dbt ~ rows_affected ~
https://dk521123.hatenablog.com/entry/2024/09/02/234559