【数仓建模】从入门到放弃

  • Post author:
  • Post category:其他


一、ODS层(Operational Data Store)

贴源层(范式建模)

1.1 数据采集


业务库

离线:sqoop

实时:canal监听MySQL的binlog

埋点日志

通常以JSON格式保存

  • flume定时抽取
  • flink实时接入或者直接落地HDFS(小文件问题)

1.2 数据处理

保持原库原有数据

二、DWD层(Data Warehouse Detail)

数据明细层(维度建模)

效果:覆盖所有系统的、完整的、干净的、具有一致性的数据层

非常规范的、高质量的、可信的数据明细层

2.1 数据处理

  • 去噪

    异常数据,比如年龄200岁

  • 去重

  • 字段命名规范

    统一字段命名和字段编码

  • 清洗转换

  • 等等

2.2 建模

根据维度模型,设计事实表和维度表

三、DWM(Data WareHouse Middle)

中间层(可选)

数据处理

轻度聚合,提升公共指标的复用性,减少重复加工

四、DWS层(Data WareHouse Servce)

基于主题的公共汇总层,也叫

宽表

80%的需求都从DWS来支持,而不是直接暴露应用放原始日志

建模

基于主题的维度聚合

五、APP(Application)

数据集市层

一般会存放在ES、OLAP数据库中供线上系统访问

建模

六、DIM层(Dimension)

公共维表层

数据共享

建模

高基维表

用户资料表、商品资料表等数据量可能是千万级或者上亿级别

低基维表

配置表、日期维表等数据量可能是个位数或者几千几万

七、衡量数仓业务覆盖程度的指标

步骤

1、基于元数据提供的血缘信息统计调度平台运行的离线任务(表1)

2、近一周内分析即席查询报告(表2)

表1数据

表1 离线调度任务统计

分析

表2数据

表2 近1周内查询统计

分析

八、数据探查

梳理业务流程

根据什么(维度)汇总、汇总什么(度量)以及汇总的范围多大(度量)



版权声明:本文为weixin_44167246原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。