数据仓库|0005-数据开发规范

数据仓库|0005-数据开发规范
文章图片

俗话说,无规矩不成方圆,在数据开发领域同样也是适用的。

是不是经常听到这样的抱怨:

  • 我擦,这张表怎么特么的注释都没有?
  • 我日,这个字段命名怎么是拼音全称?
  • 怎么这张表的订单id是string类型,那张表的是订单id是bigint类型?
  • 害,烦死了,这是谁开发的任务,库名/项目名都没写,我这去其他项目下跑还得一个个加上。
  • 这代码谁写的?2张表join获取相关字段,也不写一下表的别名,我哪知道这是这是取自哪张表的 ?
  • 运维任务又报错了? 这是谁写的select * ,union all呀,害死人,上游表加字段了,这搞的。

一 词根

词根的作用就是大家在对字段,表,指标等命名的时候作为查询使用,需要陆续完善

中文名
英文
评审时间
负责人
数量
cnt
20210816
数据研发工程师

二 词典

词典比词根更近一步,大家在对字段命名的时候,首先可以参考词典,以及可以参考其字段类型,使各个开发对同一个中文的字段命名及类型全部一致

中文名
英文名
字段类型
评审时间
负责人
订单id
order_id
String
20210816
数据研发工程师


三 命名规范

表命名

ods层
dwd层
dim层
dws层
ads层
临时表
手工表

表命名一般需要加入一及数据域,二级数据域,所以最开始需要划分数据域/主题域
然后详细的命名方式,根据每家公司有所不同

任务命名
一般情况下,任务名与输出表名一致


字段命名
参考 词根,词典


指标命名

略,之后讲指标平台的时候详细讲

四 ddl规范

需不需要加生命周期
需不需要加创建人,创建时间
ddl语句需不需要单独维护

五 sql编写规范
关于缩进,大小写,空格,注释啥的细节就不说了,讲一下重点

多表关联时,需要使用别名来引用列 如: t1.user_id
表名前面需要加上库名/项目名,如 ods.test
不要出现select * 操作

数据仓库|0005-数据开发规范
文章图片



【数据仓库|0005-数据开发规范】

    推荐阅读