dbt meta 配置简单说明

dbt 的meta 从dbt 系统的角度来说,属于一些元数据的扩展,可以添加一个二外的描述信息,方便进行文档或者其他的扩展(比如开发自己的解析处理)
lightdash 是基于dbt 的一个bi 平台,就比较依赖dbt 的meta 能力

配置说明

dbt meta 可以通过dbt_project.yml 的models 属性配置,或者通过config jinja macro 当然直接在资源的属性信息上也是可以配置的,dbt 官方推荐的是
在config 属性中,但是通过顶级key 也是可以的

参考配置

  • 模型上

顶级key 配置

version: 2
models:
  - name: users
    meta:
      owner: "@alice"
      model_maturity: in dev
  • config 属性
version: 2
 
models:
  - name: model_name
    config:
      meta: {<dictionary>}
 
    columns:
      - name: column_name
        meta: {<dictionary>}

docs 上的一个效果

  • 配置

就是一个简单示例

version: 2
models:
  - name: mymodel-v2
    description: '{{doc("model_desc")}}'
    columns:
      - name: code
        meta:
          metrics:
            total_sales:
              type: sum
              label: "Total sales (USD)"
              group_label: "Sales metrics"
              round: 2
        tests:
          - is_even:
              config:
                store_failures: true
                where: "code > 0"
  • 效果

可以看到在详情中包含一些配置信息

说明

dbt 的meta 不只是在文档中比较有用,实际上不少dbt 扩展的处理也会使用此配置,比如lightdash,基于dbt meta 可以实现灵活的扩展

参考资料

https://docs.getdbt.com/reference/resource-configs/meta
https://docs.getdbt.com/reference/configs-and-properties
https://docs.lightdash.com/get-started/setup-lightdash/how-to-create-metrics

posted on 2024-04-07 10:23  荣锋亮  阅读(19)  评论(0编辑  收藏  举报

导航