← コースに戻る
未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。
パッケージ管理(packages.yml, dbt_utils)
dbtのパッケージ(package)は、他の人が作ったモデルやマクロを自分のプロジェクトに取り込める、ライブラリのような仕組み。プロジェクト直下のpackages.ymlに依存パッケージを列挙する。
packages:
- package: dbt-labs/dbt_utils
version: 1.1.1
dbt depsコマンドを実行すると、指定したパッケージがdbt_packages/ディレクトリにインストールされ、インストール内容がpackage-lock.ymlに記録される(バージョンの固定=pinning)。
最も広く使われるパッケージがdbt_utilsで、複数テーブルのUNION・ピボット・サロゲートキー生成といったSQLヘルパーや、追加のgeneric testを提供する。パッケージのマクロはパッケージ名.マクロ名の形式で呼び出す。
select {{ dbt_utils.surrogate_key(['customer_id', 'order_id']) }} as pk
from ...
車輪の再発明を避け、コミュニティで検証済みのロジックを再利用できる点がパッケージの利点。