■ はじめに
https://dk521123.hatenablog.com/entry/2024/07/20/034930
で、 dbt の run とか show とか使ったが dbt CLI (dbt コマンド)として改めてまとめておいた方がよさそうなので 徐々にではあるが、まとめていく。
目次
【1】dbt CLI 1)環境設定 【2】主なオプション 1)--profiles-dir PATH 2)--project-dir PATH 3)--vars 4)--log-level [debug|info|warn|error|none] 【3】主なコマンド 1)run 2)run-operation 3)show 4)init 5)seed 6)debug 7)docs 8)list (ls)
【1】dbt CLI
* dbt の コマンドライン
https://docs.getdbt.com/category/list-of-commands
https://docs.getdbt.com/reference/dbt-commands#available-commands
1)環境設定
* dbt core をインストールする必要がある * 以下の関連記事を参照のこと
dbt ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/12/16/152147
【2】主なオプション
1)--profiles-dir PATH
* profiles.ymlのパス * デフォルトは、HOME/.dbt/
2)--project-dir PATH
* dbt_project.ymlのパス * デフォルトは、カレントディレクトリの親パス
3)--vars
* 変数を指定する
https://docs.getdbt.com/docs/build/project-variables#defining-variables-on-the-command-line
* 変数に関する詳細は、以下の関連記事を参照の事
dbt ~ 変数 var / env_var ~
https://dk521123.hatenablog.com/entry/2025/05/03/140109
サンプル
https://docs.getdbt.com/reference/dbt-jinja-functions/var
-- my_model.sql select * from events where event_type = '{{ var("event_type") }}'
https://docs.getdbt.com/docs/build/project-variables#defining-variables-on-the-command-line
# --vars '{event_type: "activation"}' を指定する例 dbt run --select my_model --vars '{event_type: "activation"}'
4)--log-level [debug|info|warn|error|none]
* コンソールログおよびログファイルのログレベルを設定 => 「--log-level-file」は、同様にログレベル設定だが、 ログファイルに関して「--log-level」を上書きする
【3】主なコマンド
https://docs.getdbt.com/category/list-of-commands
https://docs.getdbt.com/reference/dbt-commands#available-commands
Command | Explanations | Memo |
---|---|---|
build | models, tests, seeds, and snapshots 実行 | 全部盛りで実行 |
clean | 全てのフォルダを削除 | |
clone | クローン生成 | |
compile | source, model, testのSQLを生成する | |
debug | DBTコネクションとプロジェクトのデバッグ | |
deps | 特定した dbt パッケージをインストールする | |
docs | ドキュメント生成 | https://dk521123.hatenablog.com/entry/2023/12/10/125512 |
init | 新規DBTプロジェクトの初期化処理 | |
list / ls | テーブル一覧表示 | https://dk521123.hatenablog.com/entry/2025/04/13/222612 |
parse | プロジェクトとパフォーマンスに関する提供された情報をパースする | |
retry | 失敗した以前の実行を再実行 | |
run | モデル実行 | |
run-operation | マクロを呼び出す | https://dk521123.hatenablog.com/entry/2025/04/29/000515 |
seed | CSVをロードしDBに挿入 | https://dk521123.hatenablog.com/entry/2025/04/18/141109 |
show | 指定したModelや任意のSELECT文の出力結果を表示 | https://dk521123.hatenablog.com/entry/2025/04/27/125533 |
snapshot | プロジェクトに定義されたsnapshot実行 | https://dk521123.hatenablog.com/entry/2025/05/26/132317 |
source | sourceデータを扱うためのツールを提供 | |
test | テスト実行 |
1)run
* プロジェクト内のモデルを実行する
https://docs.getdbt.com/reference/commands/run
コマンド例
dbt run --target dev --project-dir users/
2)run-operation
* データベースに対して任意のメンテナンスSQLを実行するなど、マクロを呼び出す。 => 詳細は、以下の関連記事を参照の事
dbt CLI ~ マクロ実行 / dbt run-operation ~
https://dk521123.hatenablog.com/entry/2025/04/29/000515
3)show
* 指定したModelや任意のSELECT文の出力結果を表示
dbt CLI ~ SELECT実行 / dbt show ~
https://dk521123.hatenablog.com/entry/2025/04/27/125533
4)init
* 新規DBTプロジェクトの初期化処理
https://docs.getdbt.com/reference/commands/init
=> 以下の関連記事で実際に使用している
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
5)seed
* CSVをロードしDBに挿入
dbt ~ 基本編 / Seed ~
https://dk521123.hatenablog.com/entry/2023/11/20/230946
dbt CLI ~ シード / dbt seed ~
https://dk521123.hatenablog.com/entry/2025/04/18/141109
6)source
* sourceデータを扱うためのツールを提供
7)docs
* ドキュメント生成に関するコマンド
https://docs.getdbt.com/reference/commands/cmd-docs
* 詳細は、以下の関連記事を参照のこと
dbt CLI ~ ドキュメント化 / dbt docs ~
https://dk521123.hatenablog.com/entry/2023/12/10/125512
8)list (ls)
* テーブル一覧表示するコマンド * 詳細は、以下の関連記事を参照のこと
dbt CLI ~ テーブル一覧表示 / dbt list ~
https://dk521123.hatenablog.com/entry/2025/04/13/222612
関連記事
dbt ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/06/30/000000
dbt ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/12/16/152147
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
dbt ~ 基本編 / Seed ~
https://dk521123.hatenablog.com/entry/2023/11/20/230946
dbt ~ snapshot ~
https://dk521123.hatenablog.com/entry/2025/05/26/132317
dbt ~ 変数 var / env_var ~
https://dk521123.hatenablog.com/entry/2025/05/03/140109
dbt CLI ~ シード / dbt seed ~
https://dk521123.hatenablog.com/entry/2025/04/18/141109
dbt CLI ~ ドキュメント化 / dbt docs ~
https://dk521123.hatenablog.com/entry/2023/12/10/125512
dbt CLI ~ テーブル一覧表示 / dbt list ~
https://dk521123.hatenablog.com/entry/2025/04/13/222612
dbt CLI ~ SELECT実行 / dbt show ~
https://dk521123.hatenablog.com/entry/2025/04/27/125533
dbt CLI ~ マクロ実行 / dbt run-operation ~
https://dk521123.hatenablog.com/entry/2025/04/29/000515
dbt で生成されるSQL文を確認する
https://dk521123.hatenablog.com/entry/2024/08/25/002741
Python with dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/07/20/034930
Python with dbt ~基本編 ~
https://dk521123.hatenablog.com/entry/2025/04/26/234102
dbt seed 実行後、エラー「Cross-db references not allowed in postgres」が発生
https://dk521123.hatenablog.com/entry/2025/05/23/215144