Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(1)

news2025/1/17 8:56:51

维度建模回顾:建模流程

目标:掌握维度建模的建模流程

实施

step1-需求调研:业务调研和数据调研

    - 了解整个业务实现的过程
    - 收集所有数据使用人员对于数据的需求
    - 整理所有数据来源

  step2-划分主题域:面向业务将业务划分主题域及主题

    - 用户域、店铺域
    - 商品域、交易域、
    - 客服域、信用风控域、采购分销域

step3-构建维度总线矩阵:明确每个业务主题对应的维度关系

 step4-明确指标统计:明确所有原生指标与衍生指标

原生指标:基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,如支付总金额

衍生指标:基于原子指标添加了维度:近7天的支付总金额等

step5-定义事实与维度规范

    - 命名规范、类型规范、设计规范等

step6-代码开发

    - 实现具体的代码开发

    - 只要知道指标的计算方式,基于维度分组计算指标
  

维度建模回顾:维度设计

目标:掌握维度建模中维度的设计

实施

功能:基于组合维度来更加**细化我们的指标**,来更加精确的发现问题
- 指标如果不基于组合维度进行分析得到,指标的结果是没有意义的
实现:开发中维度就是指标聚合时的**分组字段**
特点
    - 数据量小
    - 很少发生变化
采集方式:全量
常见维度
    - 时间维度:年、季度、月、周、天、小时
    - 地区维度:国家、省份、城市
    - 平台维度:网站、APP、小程序、H5
    - 操作系统维度:Windows、Mac OS、Android、Linux、IOS
    - ……

维度建模回顾:维度模型

目标:掌握维度设计的常用模型

路径

  - step1:雪花模型
  - step2:星型模型
  - step3:星座模型

实施

雪花模型

    - 设计:部分维度通过其他维度间接关联事实表
    - 优点:避免数据的冗余
    - 缺点:关联层次比较多,数据大的情况下,底层层层Join,查询数据性能降低

 星型模型

    - 设计:所有维度表直接关联事实表
    - 优点:每次查询时候,直接获取对应的数据结果,不用关联其他的维度子表,可以提高性能
    - 缺点:数据冗余度相比雪花模型较高

星座模型

    - 星座模型:基于星型模型的演变,多个事实共同使用一个维度表   

 

    一站制造业务主题划分

目标:掌握一站制造的主题域及主题的划分
实施
来源
    - 主题域划分:业务或者部门划分
      - 业务:客户域、广告域、运营域……
      - 部门:运维域、财务域、销售域……
    - 数据需求来划分主题
      - 运营域:访问分析报表、转化分析报表、用户属性分析报表、订单分析报表
  - ==**服务域**==
    - 安装主题:安装方式、支付费用、安装类型
    - 工单主题:派工方式、工单总数、派工类型、完工总数、
    - 维修主题:支付费用、零部件费用、故障类型
    - 派单主题:派单数、派单平均值、派单响应时间
    - 费用主题:差旅费、安装费、报销人员统计
    - 回访主题:回访人员数、回访工单状态
    - 油站主题:油站总数量、油站新增数量
  - **客户域**
    - 客户主题:安装数量、维修数量、巡检数量、回访数量
  - **仓储域**
    - 保内良品核销主题:核销数量、配件金额
    - 保内不良品核销主题:核销配件数、核销配件金额
    - 送修主题:送修申请、送修物料数量、送修类型
    - 调拨主题:调拨状态、调拨数量、调拨设备类型
    - 消耗品核销:核销总数、核销设备类型
  - **服务商域**
    - 工单主题:派工方式、工单总数、工单类型、客户类型
    - 服务商油站主题:油站数量、油站新增数量
  - **运营域**
    - 运营主题:服务人员工时、维修站分析、平均工单、网点分布
  - **市场域**
    - 市场主题:工单统计、完工明细、订单统计

一站制造业务维度设计

目标:掌握一站制造业务维度设计

实施

  - ==**日期时间维度**==
    - 年维度、季度维度、月维度、周维度、日维度
    - 日环比、周环比、月环比、日同比、周同比、月同比
    - 环比:同一个周期内的比较
    - 同比:上个个周期的比较
  - ==**行政地区维度**==
    - 地区级别:国家维度、省份维度、城市维度、县区维度、乡镇维度
  - ==**服务网点维度**==
    - 网点名称、网点编号、省份、城市、县区、所属机构
  - ==**油站维度**==
    - 油站类型、油站名称、油站编号、客户编号、客户名称、省份、城市、县区、油站状态、所属公司
  - ==**组织机构维度**==
    - 人员编号、人员名称、岗位编号、岗位名称、部门编号、部门名称
  - **服务类型维度**
    - 类型编号、类型名称
  - **设备维度**
    - 设备类型、设备编号、设备名称、油枪数量、泵类型、软件类型
  - **故障类型维度**
    - 一级故障编号、一级故障名称、二级故障编号、二级故障名称
  - **物流公司维度**
    - 物流公司编号、物流公司名称
  - ……

一站制造业务主题维度矩阵

目标:了解一站制造业务主题的维度矩阵

实施

 行政地区维度设计

目标:掌握行政地区维度的需求及设计

路径

  - step1:需求
  - step2:设计

实施

需求:构建行政地区维度表,得到所有省份、城市、县区及乡镇维度信息

    - 省份维度表

      ```
      省份id    省份名称
      ```

    - 城市维度表

      ```
      省份id    省份名称    城市id    城市名称
      ```

    - 县区维度表

      ```
      省份id    省份名称    城市id    城市名称    县区id    县区名称
      ```

    - 乡镇维度表

      ```
      省份id    省份名称    城市id    城市名称    县区id    县区名称    乡镇id    乡镇名称
      11       北京市      1101     北京市      110108    海淀区    110108014  清华园街道
      ```

    - 统计不同地区维度下的网点个数、工单个数、报销金额等

  - **设计**

    - **数据来源**:one_make_dwd.ciss_base_areas

      ```
      select * from one_make_dwd.ciss_base_areas;
      ```

      - id:该地区数据id

      - parentid:该地区的父级行政区域的id

      - rank:表示行政地区的级别

        - 0:国家:country
        - 1:省份:province
        - 2:城市:city
        - 3:县/区:county
        - 4:乡镇/区域:town

      - areaname:地区名称

      - 举例

        - 清华园街道:4

         

 

        - 海淀区

    

 北京市【市级】

         

- 北京市【省级】

         

 

实现思路:以乡镇维度为例

      - 实现:下一级地区的父id = 上一级地区的id

行政地区维度构建

目标:实现行政地区维度表的构建

实施

建维度库

建维度表 

 抽取数据

 

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

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

相关文章

盘点五款免费在线进销存系统

本文将介绍:1、五款好用的免费在线进销存系统;2、如何选择进销存软件 免费进销存是企业尝试使用进销存软件的开端,只有尝试之后,才能知道这款软件是否适合本企业的发展。然而,免费购买、销售和库存管理软件并不能用几个…

华为开源自研AI框架昇思MindSpore数据处理:性能优化

目录一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例二、下载数据集三、数据加载性能优化四、shuffle性能优化五、数据增强性能优化六、操作系统性能优化七、自动数据加速八、数据异构加速数据是整个深度学习中最重要的一环,因为数据的好坏决定了最终…

基于C语言学生信息教务管理系统编程设计含科目、总分、平均分

一.实现功能 1.从键盘添加学生信息 2.从文件添加学生信息 3.显示学生信息到屏幕 4.显示学生信息到文件 5.删除学生信息 6.插入学生信息 7.查找学生信息 8.成绩排名 选1录信息 输入五个人信息 选3 选7查找信息 选2,导入文件 导完显示信息,但是中文有…

国产软件不背黑锅,4款强大又实用的电脑软件,用了舍不得卸载

国产软件常背黑锅“流氓、付费、广告多”,然而有些小众软件却非常良心强大,实在不该被牵连。 1、电脑图像工具箱 这是一个极其好用的图片处理百宝工具箱,完全免费无广告,集成工具超百个,功能包括:图像处理、…

洛谷千题详解 | P1027 [NOIP2001 提高组] Car 的旅行路线【C++语言】

博主主页:Yu仙笙 专栏地址:洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析: 0.0.题意: 1.1.建图 2.2.最短路 C源码: C源码2: C源码3: ------------------------------------------------…

离散数学实践二编程判断关系R的性质【java实现】

文章目录实验要求思路完整代码结果展示实验要求 判断关系 R 是否为自反关系 实验类型:设计性实验目的 通过算法设计并编程实现对给定集合上的关系是否为自反关系的判断,加深学生对关系性质的理解,掌握用矩阵来判断关系性质的方法。 实验内容…

【Python】沃罗诺伊图 | KNN 最邻近算法 | Voronoi 函数

猛戳!跟哥们一起玩蛇啊 👉 《一起玩蛇》🐍 写在前面:上一章我们介绍了介计算几何领域的德劳内三角剖分,我们提到过关于点集的很多种几何图都与德劳内三角剖分密切相关,其中最具代表的就是我们本章要介绍的 …

运营商展望来年再提2B市场,然而拯救4G/5G业务的都是手机用户

2022年即将结束,各个行业都开始进行年终盘点并对来年的业务进行规划,三大运营商也对此进行了展望,媒体报道指运营商对来年的发展偏向于2B市场,这已不是它们第一次提偏重企业市场了,然而现实来看拯救这些运营商的其实一…

详解SpringBean的作用域(Scopes)

文章目录一、SpringBean作用域总览二、"singleton" Bean作用域三、"prototype" Bean作用域1、验证singleton、prototype类型的Bean2、总结四、"request" Bean作用域1、配置2、简介五、"session" Bean作用域1、配置2、简介3、总结sessi…

《哈希表》

【一】哈希概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较,顺序查找时间的复杂度为O(N),平衡树中为树的高度,即O(log2N),搜索的效率取决于搜…

JavaWeb技术栈概述

1.1 Web概述 Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 在我们日常的生活中,经常会使用浏览器去访问百度、京东、传智官网等这些网站,这些网站统称为Web网站。如下就是通过浏览器访问…

实验三 第四章 MongoDB 副本集

一、实验目的: 了解MongoDB副本集 熟悉MongoDB副本集成员 掌握MongoDB副本集部署 掌握MongoDB副本集操作 理解副本集机制 二、实验环境: 一台win10系统的笔记本电脑 三、实验内容: 4.3部署副本集 4.3.1环境准备 创建的三台虚拟机配置如下&a…

python中的split()、rsplit()、splitlines()用法比较

1 split() 从左向右切割2 rsplit() 从右向左分割3 splitlines() 根据换行符切割4 rsplit()妙用split(分隔符,分割几次)从左向右寻找,分割元素并放入列表中,该分隔符丢弃; rsplit(分隔符,分割几次)从右向左寻找&#x…

算法的复杂性分析

算法的复杂性分析 文章目录算法的复杂性分析0、 算法评价的基本原则1、影响程序运行时间的因素2、算法复杂度2.1 算法的时间复杂度2.2 渐进表示法2.2.1 运行时间的上界2.2. 运行时间的下界2.2.3 运行时间的准确界3、总结4、参考0、 算法评价的基本原则 评价一个算法的好坏实际就…

第二证券|市场短期盘整 不改中期向好格局

12月初以来A股商场全体走势偏弱,上星期首要指数更是五连跌,上证指数重回3100点下方。关于商场近期的再度调整,本周组织观念显现,疫情带来的扰动或是首要原因。 不过,大都组织以为,心情面要素对商场的影响仅…

面试官:ui组件可以自动加载,那么业务组件可以吗?

大厂面试题分享 面试题库 前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 背景 笔者在最近在公司接手了一个老的对内使用的项目,接手后体验了下 发现首屏加载比较慢。分析了下大概的原因是main.js挂…

算法进阶:双指针(一)c++leetcode例题

82. 删除排序链表的重复元素 力扣传送: https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/description/ 给一个排好序的链表,删除把链表中出现的所有的重复的项: 1 2 2 3 3 3 4 5 -----> 1 4 5 这道题有很多种解法&a…

Unity3D——第一人称FPS生存游戏(resident zombies)

游戏源文件和游戏试玩程序:链接: 链接:https://pan.baidu.com/s/1Ln2tFizqEO_uEoQhuxvgrQ?pwdl6w0 提取码:l6w0 游戏思路前身搭建: 用一些正方体和胶囊做出来的基础场景, 人物设计:红色的胶囊体是敌人,手持枪械是…

一文说透BIO以及非阻塞IO

目录1. 一次I/O到底经历了什么2. 什么是Socket3. 阻塞I/O(Blocking I/O,BIO)3.1. 客户端的socket流程3.1.1. 何为socket?3.1.2. 何为连接?3.2. 服务端的socket流程3.2.1. 创建socket3.2.2. 绑定端口号3.2.3. listen()的…

项目实战之旅游网(六)认证与授权

一.编写相关页面 在本项目中,我们使用Spring Security 进行认证和授权,首先我们先编写相关页面。 1.编写登录页面admin_ login.html 2.编写登录失败页面admin_ fail.html 3.编写权限不足页面no_ permission.html 略过。知道其功能即可。 二.编写配置…