開発する前に知っておくと良さそうなことを整理した
packages.yml
packages:
- package: dbt-labs/dbt_utils
version: 0.8.6
- package: dbt-labs/codegen
version: 0.7.0
version は更新してね

staging は marts を作るためのレイヤ。ビジネスレイヤのためのソースレイヤが staging
models/staging/<データソース?名>/stg_<データソース?名>__元テーブル名.sql
base テーブルで基本変換しておいて stg でくっつけるstg_<データソース?名>.yml に書くmodels/staging/<データソース?名>/base/base_<データソース?名>__元テーブル名.sql
ephemeral にしておく。ユーザが直接クエリすることはないのでbase/base.yml に書くベストプラクティスによると、models/staging/hoge/fuga.sql のように、source を参照する staging テーブルを用意するのが良いらしい。けど既存のテーブル/ビューをそのまま使えるなら、以下で生成できる。
dbt run-operation generate_base_model --args \
'{"source_name":"dataset_name","table_name":"table_name"}'