🛠️
dbt の基本コマンド
dbt init
:プロジェクト初期化
1. まずはプロジェクト作成。
dbt init my_project
フォルダ構成(models/, dbt_project.yml など)が自動生成されます。
2. dbt debug:接続確認
設定がうまくいってるか確認したいときに。
dbt debug
GCPやSnowflakeの認証エラーで詰まりがちな人は、まずこれ。
3. dbt run:モデルの実行
modelsディレクトリ内のSQLファイルを実行して、実際にデータを作成。
dbt run
よくあるミス:Jinja2構文エラーや依存関係の記述ミス。
4. dbt build:run+test+docsの全部入り
dbt build
run: モデルを実行
test: テストを実行
docs generate: ドキュメント生成
snapshot: スナップショット適用
5.キャッシュが古い場合
dbt clean
6. dbt deps:パッケージの依存関係取得
パッケージ(例:dbt-utilsなど)を使うときに。
dbt deps
packages.yml に記載した依存ライブラリをインストールします。
7. dbt test:データ品質テストの実行
例えば、nullが入ってはいけない列などにテストを設定可能。
dbt test
schema.ymlで設定したテスト(not_null, unique, relationshipsなど)を実行。
8. dbt docs generate & dbt docs serve
ドキュメントをHTMLで生成&ローカルで表示。
dbt docs generate
dbt docs serve
ブラウザで依存関係やモデルの説明が確認できます。
9. Jinjaテンプレート:{{ ref('model_name') }} は必須
SQL内で他のモデルを参照するときは ref() を使うのがdbt流。
select * from {{ ref('my_model') }}
依存関係グラフを構築する上で、これが超重要。
10. よく使う構成ファイル
dbt_project.yml:プロジェクトのルート設定
profiles.yml:接続情報(GCP, Snowflakeなど)
Discussion