欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

最强最全面的数仓建设规范指南 (一)-二、数仓公共开发规范

最编程 2024-01-16 09:41:49
...


1. 层次调用规范


稳定业务按照标准的数据流向进行开发,即 ODS –> DWD –> DWS –> APP。非稳定业务或探索性需求,可以遵循 ODS -> DWD -> APP 或者 ODS -> DWD -> DWM ->APP 两个模型数据流。


在保障了数据链路的合理性之后,也必须保证模型分层引用原则:


  • 正常流向:ODS -> DWD -> DWM -> DWS -> APP,当出现 ODS -> DWD -> DWS -> APP 这种关系时,说明主题域未覆盖全。应将 DWD 数据落到 DWM 中,对于使用频度非常低的表允许 DWD -> DWS。
  • 尽量避免出现 DWS 宽表中使用 DWD 又使用(该 DWD 所归属主题域)DWM 的表。
  • 同一主题域内对于 DWM 生成 DWM 的表,原则上要尽量避免,否则会影响 ETL 的效率。
  • DWM、DWS 和 APP 中禁止直接使用 ODS 的表, ODS 的表只能被 DWD 引用。
  • 禁止出现反向依赖,例如 DWM 的表依赖 DWS 的表。


举例:



2. 数据类型规范


需统一规定不同的数据的数据类型,严格按照规定的数据类型执行:


  1. 金额:double 或使用 decimal(28,6) 控制精度等,明确单位是分还是元。
  2. 字符串:string。
  3. id类:bigint。
  4. 时间:string。
  5. 状态:string


3. 数据冗余规范


宽表的冗余字段要确保:


  1. 冗余字段要使用高频,下游3个或以上使用。
  2. 冗余字段引入不应造成本身数据产生过多的延后。
  3. 冗余字段和已有字段的重复率不应过大,原则上不应超过60%,如需要可以选择join或原表拓展。


4. NULL字段处理规范


  • 对于维度字段,需设置为-1
  • 对于指标字段,需设置为 0


5. 指标口径规范


保证主题域内,指标口径一致,无歧义。


通过数据分层,提供统一的数据出口,统一对外输出的数据口径,避免同一指标不同口径的情况发生。