网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
逻辑架构、技术架构、分层设计、主题划分、方法论
- 命名规范
各层级命名、任务命名、表命名、字段命名、指标命名等
- 模型规范
建模方法、建模工具、血缘关系、维度退化、一致性维度、元数据管理
- 开发规范
脚本注释、字段别名、编码规范、脚本格式、数据类型、缩写规范
- 流程规范
需求流程、工程流程、上线流程、调度流、调度和表生命周期管理
二、设计规范 - 指标
===========
- Step1:面向主题域管理
为了提高指标管理的效率,你需要按照业务线、主题域和业务过程三级目录方式管理指标。
- Step2:划分原子指标和派生指标
原子指标 + 原子指标 = 派生指标
- Step3:进行指标命名规范
需要遵循两个原则:易懂与统一
-
易懂,就是看到指标的名称,就可以基本判断这个指标归属于哪个业务过程;
-
统一,就是要确保派生指标和它继承的原子指标命名是一致的。
对于原子指标,标名称适合用“动作 + 度量”的命名方式(比如注册用户数、购买用户数)
对于派生指标,应该严格遵循“时间周期 + 统计粒度 + 修饰词 + 原子指标”的命名方式。(比如30天内黑卡会员购买用户数)
- Step4:分级管理
指标确实是多,如果一视同仁去管理其实很难,所以可以按照下面的原则进行等级划分:
-
一级指标:数据中台直接产出,核心指标(提供给公司高层看的)、原子指标以及跨部门的派生指标。
-
二级指标:基于中台提供的原子指标,业务部门创建的派生指标。
三、命名规范 - 表命名
============
3.1 常规表
常规表是我们需要固化的表,是正式使用的表,是目前一段时间内需要去维护去完善的表。
规范:分层前缀[dwd|dws|ads|bi]_业务域_主题域_XXX_更新评率|全量/增量。
业务域、主题域我们都可以用词根的方式枚举清楚,不断完善,粒度也是同样的,主要的是时间粒度、日、月、年、周等,使用词根定义好简称。
例如: dwd_xxx_xxx_da
-
di :每日增量
-
da:每日全量
-
mi:每月增量
-
ma:每月全量
3.2 中间表
中间表一般出现在Job中,是Job中临时存储的中间数据的表,中间表的作用域只限于当前Job执行过程中,Job一旦执行完成,该中间表的使命就完成了,是可以删除的(按照自己公司的场景自由选择,以前公司会保留几天的中间表数据,用来排查问题)。
规范:mid_table_name_[0~9|dim]
table_name是我们任务中目标表的名字,通常来说一个任务只有一个目标表。这里加上表名,是为了防止自由发挥的时候表名冲突,而末尾大家可以选择自由发挥,起一些有意义的名字,或者简单粗暴,使用数字代替,各有优劣吧,谨慎选择。通常会遇到需要补全维度的表,这里我喜欢使用dim结尾。中间表在创建时,请加上 ,如果要保留历史的中间表,可以加上日期或者时间戳
3.3 临时表
临时表是临时测试的表,是临时使用一次的表,就是暂时保存下数据看看,后续一般不再使用的表,是可以随时删除的表。
规范:tmp_xxx
只要加上tmp开头即可,其他名字随意,注意tmp开头的表不要用来实际使用,只是测试验证而已。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!