目录
1 数据模型规范
1.1 ODS层
1.1.1 表规范
(1) 表命名
增量表:ods_{来源数据库缩写}_源数据库表名_inc
全量表:ods_{来源数据库缩写}_源数据库表名
(2) 字段
①字段类型:数据类型使用bigint,小数类型使用double,其它类型使用string.
②在最后增加字段loaddate,取当前系统时间,格式为'yyyy-MM-dd HH:mm:ss',用于记录数据处理的时间.
③如果源数据的数据量很大,可适当增加分区字段,命名为(dt日分区,mn月分区,year年分区)
1.1.2 数据同步及合并
(1) 如果数据量很小并且易处理,那么从数据源全量同步数据.
(2) 如果源数据的数据量很大,则只抽取最近变化的数据,形成增量表,然后合并到全量表中:
①如果源数据新增或修改时,会更新时间字段,则根据时间抽取最近的数据.
②如果源数据中含有主键,则根据主键来判断是覆盖还是新增;如果源数据中没有主键,则可以根据时间段来合并数据.
1.2 DIM层
1.2.1 表规范
(1)表命名:
{模型层级}_{业务板块}_{主题域}_{自定义标签}
(2) 字段规范
在最后增加字段loaddate,取当前系统时间,格式为'yyyy-MM-dd HH:mm:ss',用于记录数据处理的时间.
1.2.2 数据清洗
(1) 标准化处理:应用建于数据仓库内部的标准字典,对于地区名、人名、产品名、分类名以及各种编码信息进行标准化处理.
(2) 查重:应用各种数据库查询技术和手段,避免引入重复数据.
(3) 去除数据中的特殊符号、空格等.
(4) 涉及手工维护数据,和对接人员规范数据.
1.2.3 数据转化
(1) 对于业务指标,统一按最小单位保存,如时间保留到秒.
2 数据模型优化
①ADS应用层优先调用DW层数据,尽量优先调用DWS汇总层数据.
②ADS应用层不能直接调用ODS层数据,ODS层数据需通过DW层进行封装.
③DWS汇总层优先调用DWD明细层数据,尽量优先调用DWS已经产出的粗粒度汇总数据.
④通过增加汇总表,减少数据的动态汇总;
⑤通过冗余字段,减少表连接的数量.