文章图片
俗话说,无规矩不成方圆,在数据开发领域同样也是适用的。
是不是经常听到这样的抱怨:
- 我擦,这张表怎么特么的注释都没有?
- 我日,这个字段命名怎么是拼音全称?
- 怎么这张表的订单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-数据开发规范】
推荐阅读
- java|基于 SpringBoot + Vue 的前后端分离的考试系统
- 算法|基于Matlab的多模态医学图像融合仿真
- Elasticsearch|Elasticsearch(通过 JDBC 使用 SQL 来查询索引 - DBeaver)
- 运维|CDH /HDP 何去何从()
- 深度学习|训练yolov5过程中报错RuntimeError: result type Float can‘t be cast to the desired output type __int64
- 广告|5种经典的数据分析思维和方法
- 大数据|数据分析中的“产品思维”经验讲解
- 大数据|《数据分析思维》(分析方法与业务知识)
- Spark|基于Spark封装的二次开发工程edata-base,介绍