dbt在生成table模型的时候,默认是不带表注释和字段注释的。如果需要添加注释,则需要使用以下方式配置 persist_docs 选项,建表时带上注释。

测试环境

  • dbt 1.5
  • 数据库:Postgres 14

方式一:在模型中配置 persiste_docs

  1. 创建测试用的表模型 <dbt-project/models/example/fct_score.sql>

    • materialized='table',指定模型的物化方式为table,即物理表。此外还有

      • view,没错,就是你理解的那个视图。
      • incremental, 增量更新表
      • ephemeral,临时表,只在dbt运行过程中使用,不会进入数据库。
    • persist_docs={'relation': true, 'columns': true},建表和字段时使用 description 作为注释。如果不带该项配置,则 description 只会出现在 docs 中。

{{ config(materialized='table', persist_docs={'relation': true, 'columns': true}) }}with source_data as (select 1 as id, 1 as student_id, 'chinese' as class, 98 as score union all select 2 as id, 1 as student_id, 'math'    as class, 97 as score union all select 3 as id, 1 as student_id, 'english' as class, 96 as score union all select 4 as id, 2 as student_id, 'chinese' as class, 88 as score union all select 5 as id, 2 as student_id, 'math'    as class, 87 as score union all select 6 as id, 2 as student_id, 'english' as class, 86 as score union all select 4 as id, 3 as student_id, 'chinese' as class, 83 as score union all select 5 as id, 3 as student_id, 'math'    as class, 82 as score union all select 6 as id, 3 as student_id, 'english' as class, 81 as score
)select * from source_data
  1. 配置 description
    schema.yml 中添加 description
models:- name: fct_scoredescription: "事实表:学生成绩"columns:- name: iddescription: "记录ID"- name: student_iddescription: "学生ID"- name: classdescription: "课程"- name: scoredescription: "成绩"
  1. 执行 dbt run -s fct_score,可以看到已经带上注释了(注意,如果表已存在,需要提前删除,否则不会创建新表)

方式二:在 schema.yml 中配置 persist_docs

dbt的核心思核想是 Data as Code,即像交付代码一样交付数据,对数据加工代码进行统一的管理。所以最好是在 schema.yml 中配置 persist_docs,以便开发表模型的时候,可以专注于 SQL。

models:- name: fct_scoredescription: "事实表:学生成绩"persist_docs:- relation: true - columns: truecolumns:- name: iddescription: "记录ID"- name: student_iddescription: "学生ID"- name: classdescription: "课程"- name: scoredescription: "成绩"

方式三:在 dbt-project.yml 中配置 persist_docs

也可以在 dbt-project.yml 中统一开启 persist_docs,优先级是从下到上,即表模型中的配置优先程度最高, dbt-project.yml 中的配置优先度最低。
description 还是需要在 schema.yml 中配置

models:my_test_dbt:example:+materialized: table+schema: dwd+persist_docs:relation: true columns: true

参考

  • dbt官方文档:persist_docs
  • dbt官方文档:Materializations

【dbt】配置表注释、字段注释相关推荐

  1. mysql添加表或字段注释

    添加表注释 1.创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2.修改表的注释 alte ...

  2. Oracle读取数据库中表填充,Oracle数据库中查看所有表和字段以及表注释.字段注释...

    1.获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 se ...

  3. 增加mysql表一个字段+注释

    增加mysql表一个字段 ALTER TABLE 表名 ADD COLUMN 列名 varchar(50) DEFAULT null comment '注释' ;

  4. Django生成MySQL表的字段注释

    在Django中,可以先定义model,然后很快就通过migrate命令生成好对应的表,但是却发现注释并没有生成,那么如何迅速解决呢? 安装addcomments pip install addcom ...

  5. DatabaseMetaData 获取mysql表和字段注释

    Properties props =new Properties();props.put("user", "root"); props.put("pa ...

  6. Oracle Comment 获取并修改表或字段注释

    select * from dba_tables where owner = 'DINGYINGSI'; select * from user_col_comments where table_nam ...

  7. sql server2008给数据表,字段,添加修改注释

    1.sqlserver用语句给表注释 EXECUTE sp_addextendedproperty N'MS_Description', N'表注释', N'user', N'dbo', N'tabl ...

  8. mysql查字段的备注_Mysql 查看表注释或字段注释

    查看所有表的注释 SELECT table_name 表名, table_comment 表说明 FROM information_schema.TABLES WHERE table_schema = ...

  9. mysql添加表注释、字段注释、查看与修改注释

    mysql 一.基础知识 1.创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2.修改表的 ...

  10. 数据库mysql的注释怎么加_mysql表如何添加字段注释

    mysql表添加字段注释的方法:直接在创建表的时候添加字段,代码为[CREATE TABLE userinfo(id INT COMMENT '编号',uname VARCHAR(40) COMMEN ...

最新文章

  1. 包云岗:关于RISC-V成为印度国家指令集的一些看法
  2. 仅看一眼就收获满满的7个神器网站,拿走不谢!
  3. 如何估算大型项目的工作量
  4. MySQL(5)日志管理、备份与恢复,断点
  5. python中的out of loop_TclError: out of stack space (infinite loop?)
  6. 深度linux安装好上不了网,Deepin Linux 无法上网
  7. PhpStorm 超强语言模板的支持
  8. Voice Lab 7- AAR-SRST-Media Resource
  9. bpe编码_缓冲池扩展(BPE)–实施另一级缓存
  10. 【SQL】ROWNUM和ROWID
  11. 我眼中的Visual Studio 2010架“.NET研究”构工具
  12. 如何用Camtasia进行内容补充?
  13. Qt中的串口编程之一
  14. linux版filezilla使用教程,FileZilla使用测评
  15. 街头篮球服务器未响应,我的生涯我做主《街头篮球》生涯联赛FAQ
  16. 如果你要补充益生菌 ——益生菌补充、个体化、定植指南
  17. 四六级分数根据比例给分
  18. 网站推广优化教程集锦
  19. java lazy_在Java8中模拟Lazy
  20. 2018面试题目总结1

热门文章

  1. 电商概论上课笔记-作业四
  2. 在Mac上解决浏览器无法显示图片问题
  3. 2023华为产品测评官-开发者之声+我的ModelArts故事
  4. D - Disastrous Doubling Kattis - disastrousdoubling
  5. shell脚本学习之基础篇五:函数
  6. Eigen 使用碎碎记_norm、normalize、normalized的区别
  7. master - master (non-fast-forward)和git ! [rejected] master - master (fetch first)
  8. URL(统一资源定位符)网络地址格式
  9. ubuntu系统批量修改文件内容
  10. 如何使用Gith建立本地仓库并上传更新到代码到Githup