1.1 分层需求分析

在之前介绍实时数仓概念时讨论过,建设实时数仓的目的,主要是增加数据计算的复用性。每次新增加统计需求时,不至于从原始数据进行计算,而是从半成品继续加工而成。
我们这里从 Kafka 的 ODS 层读取用户行为日志以及业务数据,并进行简单处理,写回到 Kafka 作为 DWD 层。
第一章 需求分析及实现思路 - 图1

1.2 每层职能

分层 数据描述 生成计算工具 存储媒介
ODS 原始数据,日志和业务数据 日志服务器,FlinkCDC Kafka
DWD 根据数据对象为单位进行分流,比如订单,页面访问等 Flink Kafka
DIM 维度数据 Flink HBase
DWM 对于部分数据对象进行进一步加工,比如独立访问,跳出行为。依旧是明细数据。 Flink Kafka
DWS 根据某个维度主题将多个事实数据进行轻度聚合,形成主题宽表。 Flink Clickhouse
ADS 把Clickhouse中的数据根据可视化需要进行删选 聚合 Clickhouse
SQL
Clickhouse

1.3 DWD层数据准备实现思路

  • 功能1:环境搭建
  • 功能2:计算用户行为日志DWD层
  • 功能3:计算业务数据DWD层