助力工业物联网,工业大数据之数仓事实层DWB层构建【十七】

2023-07-28 15:48:27 浏览数 (1)

数仓事实层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:分层回顾

  • 目标:回顾一站制造项目分层设计
  • 实施
  • ODS层 :原始数据层:101张表:AVRO
  • DWD层:明细数据层:101张表:ORC
  • DWS层:维度数据层:维度表
  • DWB层:轻度汇总层:Join 构建基础指标
  • 小结
    • 回顾一站制造项目分层设计

04:DWB层的设计

  • 目标:掌握DWB层的设计
  • 路径
    • step1:功能
    • step2:来源
    • step3:需求
  • 实施
    • 功能:存储每个事实主题需要的事务事实数据以及轻度聚合的结果,供ST层基于DWS层进行统计聚合得到最终每个主题的指标
      • 关联:将事实主题需要的字段进行关联合并到一张事实表中,构建基于主题的事实
      • 聚合:对常用的基础指标基于细粒度实现轻度聚合
    • 来源:对DWD层的数据进行关联或者轻度聚合
    • 需求:按照一站制造的业务主题的划分需求,构建每个主题的DWB层的数据
  • 小结
    • 掌握DWB层的设计

0 人点赞