数仓事实层DWB层构建
01:项目回顾
项目中有哪些主题域?
- 服务域:工单主题、安装主题
- 客户域:客户事主题
- 仓储域:物料主题
- 运营域:工时主题
- 市场域:工单主题
项目中有哪些核心维度?
- 时间维度
- 地区维度
- 油站维度
- 服务站点维度
- 组织机构维度
- 物流维度
- 仓库维度
- ……
行政地区维度中有哪些核心字段?
代码语言:javascript复制省份id 省份名称 城市id 城市名称 县区id 县区名称 乡镇id 乡镇名称
- 定期或者按照变化,全量同步到数据仓库中
时间维度中有哪些核心字段?
代码语言:javascript复制年 季度 月 周 日 年的第几天 周的第几天 工作日 节假日 周日
- 每一年提前将下一年的时间维度信息生成,增量放入数据仓库中
服务网点维度中有哪些核心字段?
代码语言:javascript复制服务网点id 编码 名称 省份 城市 县区 组织机构id 组织机构名称
油站维度中有哪些核心字段?
代码语言:javascript复制油站id 油站编码 油站名称 省份 城市 县区 乡镇 客户id 客户名称 公司id 公司名称
组织机构维度中有哪些核心字段?
代码语言:javascript复制工程师id 工程师名称 岗位id 岗位名称 部门id 部门名称
集中问题
- DG连接不上:YARN的进程故障,导致ThriftServer无法运行
- Hadoop:NameNode、DataNode、ResourceManager、NodeManager
- Hive:Metastore、Hiveserver2
- Spark:ThriftServer
- 异常:ProtocolBuffer 不匹配:dim_date
- 数据文件与表的定义是不匹配的
- step1:检查建表语法
- step2:文件:上传时候文件是不对的
- 语法 函数 数据关系
- 语法 函数 :计算
- 数据关系:逻辑
02:项目目标
整体目标:构建数仓中的DWB:主题事务事实表
核心的主题事实的构建:SQL实现 主题的指标
原始事务事实数据【DWD】:订单数据
代码语言:javascript复制o001 userid1 2021-01-01 200.00
主题事务事实数据【DWB】:订单主题
代码语言:javascript复制o001 userid1 2021-01-01 订单总金额:200 订单总个数:1
主题周期快照事实表:数据应用层【ST:维度【DWS】 事实指标【DWB】】
代码语言:javascript复制2021-01-01 订单总金额:xxxx 订单总个数:xxxx
重点内容:SQL以及数据关系
03:分层回顾
- 目标:回顾一站制造项目分层设计
- 实施
- 小结
- 回顾一站制造项目分层设计
04:DWB层的设计
- 目标:掌握DWB层的设计
- 路径
- step1:功能
- step2:来源
- step3:需求
- 实施
- 功能:存储每个事实主题需要的事务事实数据以及轻度聚合的结果,供ST层基于DWS层进行统计聚合得到最终每个主题的指标
- 关联:将事实主题需要的字段进行关联合并到一张事实表中,构建基于主题的事实
- 聚合:对常用的基础指标基于细粒度实现轻度聚合
- 来源:对DWD层的数据进行关联或者轻度聚合
- 需求:按照一站制造的业务主题的划分需求,构建每个主题的DWB层的数据
- 功能:存储每个事实主题需要的事务事实数据以及轻度聚合的结果,供ST层基于DWS层进行统计聚合得到最终每个主题的指标
- 小结
- 掌握DWB层的设计