黑马Hive+Spark离线数仓工业项目--数仓事实层DWB层构建(1)

news2024/11/19 16:37:33

整体目标:构建数仓中的DWB:主题事务事实表

核心的主题事实的构建:SQL实现 + 主题的指标

原始事务事实数据【DWD】:订单数据

 主题事务事实数据【DWB】:订单主题

    - 主题周期快照事实表:数据应用层【ST:维度【DWS】 + 事实指标【DWB】】

分层回顾

目标:回顾一站制造项目分层设计

实施

  - ODS层 :原始数据层:101张表:AVRO
  - DWD层:明细数据层:101张表:ORC
  - DWS层:维度数据层:维度表
  - DWB层:轻度汇总层:Join + 构建基础指标

DWB层的设计

目标:掌握DWB层的设计

路径

  - step1:功能
  - step2:来源
  - step3:需求

实施

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

事实主题指标划分

目标:掌握一站制造中的业务主题划分及主题指标的设计

实施

 基本流程
    - 油站:有安装、维修、巡检、改造需求
    - 呼叫:打电话到呼叫中心下工单
      - 呼叫中心可以直接解决:不会有新的工单产生:咨询类寻求
      - 呼叫中心不能直接解决:构建工单
    - 网点:呼叫中心将工单分派给网点
    - 工单:分配工程师确认工单
    - 油站:实施具体的工单需求
    - 仓储物料:申请仓库调度零配件,有零配件费用
    - 差旅费用:交通费用、住宿费用、加油费用、补贴费用
    - 回访:呼叫中心将完成的订单进行电话回访
呼叫中心事实指标:来电受理次数、分派工单次数
油站事实指标:油站个数、停用油站个数、油站设备个数
工单事实指标:安装工单个数、维修工单个数
安装事实指标:安装个数、安装费用
维修事实指标:维度个数、维修费用
客户回访事实指标:满意个数、不满意个数、态度满意个数、响应速度的满意个数、技术满意个数
费用事实指标:报销费用、差率费用、补贴费用
差旅事实指标:油费、住宿费用、交通费用
网点物料事实指标:零配件的个数
 

呼叫中心事实指标需求分析

目标:掌握DWB层呼叫中心事实指标表的需求

路径

  - step1:目标需求
  - step2:数据来源

实施

  目标需求:基于基础的时间、受理方式、来电类型等事实维度统计工单数量、电话数量、回访数量、投诉数量等

数据来源

    - **ciss_service_callaccept**:客服中心来电详情表

 呼叫中心事实指标构建

目标:实现DWB层呼叫中心事实指标表的构建

实施

  -建库

  建表

 构建数据字典表【每次都要两张表关联,比较麻烦,合并为一张表】

 抽取


    

油站事实指标需求分析

目标:掌握DWB层油站事实指标表的需求分析

-路径

  - step1:目标需求
  - step2:数据来源

-实施

  - **目标需求**:基于油站信息及设备数据构建油站主题事实的油站个数、停用个数、新增个数、设备个数等

  油站数量:1个油站就是一条数据,这个值默认就为1

    - 已停用油站数量:停用状态,判断油站的状态是什么状态

    - 有效油站数量:使用状态,判断油站的状态是什么状态

    - 当日新增油站:判断之前有没有这个油站

      - 历史记录表:oil_history:记录了当前所有油站的信息

        - id、name

      - 今日新数据:oil_current:记录了今天所有油站的信息

        - id、name

      - left join

    - 当日停用油站:判断当日状态

    - 油站设备数量:得到这个油站的所有设备信息,按照油站id分组统计设备个数

  - **数据来源**

    - **ciss_base_oilstation**:油站信息表

    - **ciss_base_oilstation_history**:油站历史记录表

      - 模拟油站历史记录

        


    - **ciss_base_device_detail**:油站设备信息表
    

 

油站事实指标构建

目标:实现DWB层油站事实指标表的构建

实施

建表

抽取

工单事实指标需求分析

目标:掌握DWB层工单事实指标表的需求分析

路径

  - step1:目标需求
  - step2:数据来源

实施

  目标需求:基于工单信息统计等待分配工单数量、完成工单数量、处理工单数量、响应时长、服务时长等指标

 

数据来源

  • ciss_service_workorder:工单详情事实表

 

 

 

 

      

   
    

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一场4800亿“锂电”战事,瑞浦兰钧射出三支“价值之箭”

顺势而为,是一家企业成功突围的最佳利器。 如今,几乎所有企业都被“碳达峰碳中和”的国家级战略所影响。在此大势的推动之下,锂离子电池、清洁能源等产业也随之进入高速发展期。工信部数据显示,上半年全国锂离子电池产量超过280G…

HNU编译原理实验二cminus_compiler-2022-fall

前言:个人感觉比第一次的难,借鉴了前辈的报告才勉强看懂在干嘛 lab2实验报告实验要求 本次实验需要先将自己的 lab1 的词法部分复制到 /src/parser 目录的 lexical_analyzer.l并合理修改相应部分,然后根据 cminus-f 的语法补全 syntax_analy…

3.3 直接耦合放大电路

工业控制中的很多物理量均为模拟量,如温度、流量、压力、液面、长度等,它们通过各种不同传感器转化成电量后也均为缓慢变化的非周期性信号,而且比较微弱,因而这类信号一般均需通过直接耦合放大电路后才能驱动负载。 一、直接耦合…

二叉树,红黑树,B树、B+树的区别

树的概念 树的演变 二叉搜索树 二叉搜索树可以提高查询效率,左小右大,但是他不好掌握根节点的数字是哪个,容易一边倒,导致层数变多,降低效率 平衡二叉搜索树 平衡二叉搜索树在二叉搜索树的基础上,通过控制任意一个节…

Shell“语言程序设计基础......“

Shell语言也有设计基础吗?...... 没有所谓的语言程序设计基础往往是一种就是菜鸡互啄的一种状态......哦,据说当年,发明笔记本电脑的人(想出发明笔记本电脑这个创意的人)一开始的工作是写说明书的Linux 或者 Unix 发明的那个年代应该还没有这种充满了营销的或者应试的表述方法…

密码学 密钥管理

密钥管理 出发点:在一种安全策略指导下的密钥产生,存储,分配,删除,归档和应用方案。 目的:维持系统各实体之间的密钥关系,抗击各种威胁: 1.密钥泄露 2.密钥和公钥身份真实性丧失 3…

计算机内存机制精讲

全文目录1、一个程序在计算机中到底是如何运行的?2、虚拟内存到底是什么?虚拟地址中间层思想3、虚拟地址空间以及编译模式CPU的数据处理能力编译模式32位编译模式64位编译模式4、内存对齐,提高寻址效率5、内存分页机制,完成虚拟地…

react-native学习过程记录

1、关于react-native init 创建项目报错 cli.init is not a function 问题解决 直接采用npx react-native init chapter2 --version 0.68.2 创建项目(即指定version) 参考地址:https://blog.csdn.net/qq_42231156/article/details/126396576…

【云原生进阶之容器】第二章Controller Manager原理剖析--2.1节Controller Manager综述

1 K8S Controller Manager原理解析 1.1 Controller Manager作用简述 一般来说,智能系统和自动系统通常会通过一个“操作系统”不断修正系统的工作状态。在Kubernetes集群中,每个Controller都是这样的一个"操作系统",它们通过APIServer 提供的(List-Watch)接口实…

小程序集成Three.js开发常见问题

1.加载模型后开发者工具卡顿 我想很多小伙伴都遇到过这个问题,网上很多方法,说什么清缓存,清内存,基本作用都不大。在不断的摸索中,我逐渐找到了一些解决的办法,希望对你有帮助。 (1) 截至发文时间&#…

Java-集合(1)

什么是集合? 在前面的学习中,保存多个数据,用的是数组。 但是数组有很多不同的地方: 1.长度开始时必须指定,且一旦指定无法更改 2.保存的必须为同一类型元素,虽说可以多态保存,但是限制性也很大…

再学C语言17:类型转换

语句和表达式通常只应该使用一种类型的常量和变量 如果使用混合类型,C将会使用一个规则集合自动完成类型转换 一、基本的规则 1)当出现在表达式中时,有符号和无符号的char类型和short类型都将自动被转换为int(在需要的情况下将…

新华三“智・行中国2022”|大厂行动,如何擘画“内循环”的数字未来?

作者 | 曾响铃 文 | 响铃说 继农业经济、工业经济之后,数字经济登上历史的舞台,成为大国的主要经济形态。在我国,根据中国信息通信研究院发布的《中国数字经济发展白皮书(2022年)》,截至2021年&#xff0…

关于浙大MPA复试的一些常规问题

2022年联考笔试刚刚落下帷幕,就收到很多小伙伴关于浙大MPA项目复试的问题咨询,趁着今天有空就大家问的一些问题在这里统一做个回复哦~1、问:正常情况下多少分可以进入浙大MPA项目复试? 答:统计了2018——2022浙大MPA项…

Harmony/OpenHarmony应用开发-转场动画组件内转场

组件内转场主要通过transition属性配置转场参数,在组件插入和删除时显示过渡动效,主要用于容器组件中的子组件插入和删除时,提升用户体验(需要配合animateTo才能生效,动效时长、曲线、延时跟随animateTo中的配置&#…

GitHub官网下载Axios.js步骤

目录 前言必读 一、下载步骤 1.进入GitHub官网 2.搜索axios 3.点击这个axios/axios 4.点击压缩包下载 5.解压,进入到dist文件里面就找到了 二、使用方法 前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一、下载步骤 1.进入…

数据在内存中的存储(11)

目录 1、数据类型介绍 1、类型的基本归类 1、整形家族: 2、浮点数家族: 3、构造类型(自定义类型): 4、指针类型: 5、空类型: 2、整形在内存中的存储 1、原码、反码、补码 2、大小端介…

[框架]Mybatis的使用

目录一、数据持久化的概念及ORM(Object Relational Mapping “对象关系映射”)的原理1.1 持久化1.2 ORM(Object Relational Mapping)1.3 ORM解决方案(包含四个部分)二、MyBatis简介2.1 简介2.2 特点2.3 MyB…

数据结构-考研难点代码突破(C++实现无向图图最小生成树算法(Prim,Kruskal)图解操作细节(引自C语言中文网))

以代码的方式复习考研数据结构知识点,这里在考研不以代码为重点,而是以实现过程为重点 文章目录1. 无向图最小生成树算法Kruskal算法C代码实现Prim算法C代码实现1. 无向图最小生成树算法 常见基本概念记忆: 生成树定义: 无向图中…

MySQL索引相关知识

1、什么是索引? 索引是存储引擎用于提高数据库表的访问速度的一种数据结构。通过给字段​​添加索引​​​可以​​提高数据的读取速度​​​,提高项目的并发能力和抗压能力。​​索引优化​​​时mysql中的一种优化方式。索引的作用相当于​​图书的目录…