开发规范
一、数据模型
o1、横向分层
1.1 分层意义
1.2 分层模型
1.2.1 数据同步层
1.2.2 数据清洗层
1.2.3 事实模型层
1.2.4 维度模型层
1.2.5 指标模型层
1.2.6 数据应用层
1.3 层次调用
o2、纵向划域
二、命名标准
o1、术语约定
o2、脚本命名规范
o3、脚本存放规范
o4、表命名规范
o5、字段命名规范
o6、分区命名规范
三、代码开发
四、ETL参数
五、${…}自定义参数
一、数据模型
1、横向分层
1.1 分层意义
复杂问题简单化。将一个复杂的任务分为多个步骤来解决,每一层只解决特定的问题;
数据结构清晰。每一层都有其特定的作用域和职责,在使用表时能快速方便的定位和理解;
提高数据的复用性。避免烟囱式开发,提高数据运算效率;
统一数据口径。
1.2 分层模型
术语约定:
业务类数据 - 数据记录包含新增、更新
日志类数据 - 数据记录只新增,不更新
1.2.1 数据同步层
层名简写:ods
描述:指结构与源系统基本保持一致的增量或者全量数据,不做进一步的模型抽象及复杂业务逻辑处理。该层不对外提供数据访问权限。
同步原则:
1)数据量100w以下 且 数据增速4000条/天以下:全量同步;
2)数据量100w及以上 或 数据增速4000条/天及以上:增量同步。
备注:数据增速以近3个月的数据情况来测算;如果是新上线的表需要和业务同学进行沟通确认数据增长情况。
生命周期:历史所有
1.2.2 数据清洗层
层名简写:dwd_parse
描述:针对ods层数据进行清洗转化,主要完成业务增量数据合并、脏数据过滤、测试数据标识、json数据解析、敏感字段静态脱敏、字段命名格式统一等操作。
备注:对于ods表中不同粒度数据需在此层进行拆分
生命周期:天表、周表、月表:180天
1.2.3 事实模型层
层名简写:dwd_fact
描述:以业务过程作为建模驱动,基于每个具体的业务过程特点,梳理出业务总线矩阵,构建最细粒度的明细事实表和模型宽表。
生命周期:天表、周表、月表:180天
1.2.4 维度模型层
层名简写:dim
描述:基于维度建模构建全域一致性维度,降低数据计算口径和算法不统一风险,采用宽表设计的原则。
维表默认值:需要根据属性来源判断
1)如果是基础属性,空值需要给默认值:DW_Unknown
2)如果来源是业务流程,空值不适合给默认值
生命周期:天表、周表、月表:180天
1.2.5 指标模型层
层名简写:dws
描述:以分析的主题对象作为建模驱动,基于应用和产品的指标需求,构建公共粒度的轻度或重度汇总指标事实,为应用服务层提供相对稳定的数据模型。
生命周期:天表、周表、月表:180天
1.2.6 数据应用层
层名简写:ads
描述:基于业务需求,跨数据域或主题集成、汇总,用于各产品或各业务线个性化数据加工。
生命周期:天表、周表、月表:180天
1.3 层次调用
禁止逆向调用,比如:dws层不能调用ads层数据。
层次调用顺序:
1)(推荐)ods ->