大数据系统建模方法论简谈

news2024/11/16 1:29:03

1.根据业务需求构建总线矩阵--明确需求

构建总线矩阵的目的:总线矩阵也是BI核心之一,基本上只要详细了解企业业务战略线就能得出总线矩阵,它对应着企业每一个业务单元,提取业务单元中的一致性维度和事实量值组 组合成企业总线矩阵也就是多维分析模型;总线矩阵也是BI项目实施交付的必要成果之一,它与数据仓库的概念模型非常吻合。

时间

用户

地区

商品

优惠券

活动

编码

度量值

订单

件数/金额

订单详情

件数/金额

支付

金额

加购

件数/金额

收藏

个数

评价

个数

退款

件数/金额

优惠券领用

个数

2.数据建模

2.1总体规划

  • 业务建模,这部分建模工作,主要包含以下几个部分:

划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。

深入了解各个业务部门的内具体业务流程并将其程序化。

提出修改和改进业务部门工作流程的方法并程序化。

数据建模的范围界定,整个数据仓库项目的目标和阶段划分。

  • 领域概念建模,这部分得建模工作,主要包含以下几个部分:

抽取关键业务概念,并将之抽象化。

将业务概念分组,按照业务主线聚合类似的分组概念。

细化分组概念,理清分组概念内的业务流程并抽象化。

理清分组概念之间的关联,形成完整的领域概念模型。

  • 逻辑建模,这部分的建模工作,主要包含以下几个部分:

业务概念实体化,并考虑其具体的属性

事件实体化,并考虑其属性内容

说明实体化,并考虑其属性内容

  • 物理建模,这部分得建模工作,主要包含以下几个部分:

针对特定物理化平台,做出相应的技术调整

针对模型的性能考虑,对特定平台作出相应的调整

针对管理的需要,结合特定的平台,做出相应的调整

生成最后的执行脚本,并完善之。

2.2维度建模

  • 什么是维度建模

维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。

维度建模并不要求维度模型必须满足第3范式。数据库中强调的 3NF 主要是为了消除冗余。而维度建模解决了模式过分复杂的问题。

  • 什么是星形模型

星型模型就是我们一种典型的维度模型。我们在进行维度建模的时候会建一张事实表,这个事实表就是星型模型的中心,然后会有一堆维度表,这些维度表就是向外发散的星星。

  • 事实表

 发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中。从最低的粒度级别来看,事实表行对应一个度量事件,反之亦然。

  • 维度表

 每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境应与事实表行完全对应。 维度表通常比较宽,是扁平型非规范表,包含大量的低粒度的文本属性。

3.数仓建模过程

3.1准备工作

  • 首先需要将业务数据库的数据结构同步到EZDML或者PD等工具,根据外键id把所有表关联到一起。方便梳理业务关系。
  • 然后利用工具,将数据导入数仓中,进行处理。

3.2数仓分层架构的一种(五层架构)

  • ods:

  1. 存放原始数据(日志,数据)

  2. 创建分区表,防止后续全表扫描

  3. 采用LZO压缩,减少磁盘存储空间

ODS到DWD层需要做的事情:

  1. ETL(用hql,mr,sparksql,kettle,python)

  2. 清洗的原则:解析日志、核心字段不能为空、超期数据过滤掉、重复数据过滤匹配手机号、身份证号、邮箱、qq

  3. 清洗掉多少数据:万分之一,不合格时候查自己的代码、前端、javaee

  4. 采用压缩:LZO(减少磁盘空间)

  5. 列式存储,加快查询速度,减少磁盘空间

  6. 数据脱敏 手机号等(非要用手机号时候1.加权限 2.md5加密)

  • dwd-数据明细层:

1、选择业务过程:中小型公司全选业务表,大型公司表比较多,根据需求主线选择表

2、数据清洗:去除控制、脏数据、超过范围极限的数据、维度退化、脱敏等

3、声明数据粒度:每一行代表一次下单、一个行为(选择最小粒度,不聚合)

3、确定维度a

什么时间、什么地点、谁、活动、优惠券、业务名词

4、确定事实

度量值:次数、件数、金额、个数

维度退化:维度退化的依据是维度建模中的星型模型:事实表周围一级维度,减少后续的join

退化过程:商品表、spu、品类表、一级分类、二级分类、三级分类=》商品维度表

省份表、地区表=》地区维度表

dws:

1.以dwd为基础,按天进行轻度汇总

dwt:

  1. 确定哪些宽表

站在维度的角度看事实:“地区、用户、设备、活动、优惠券

  1. 宽表的字段怎么来

站在维度的角度看事实,开始时间,结束时间、累计度量值、最近一段时间累计度量值。

ads:

  1. 出报表:手写

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

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

相关文章

从关键新闻和最新技术看AI行业发展(2023.10.23-11.5第九期) |【WeThinkIn老实人报】

Rocky Ding 公众号:WeThinkIn 写在前面 【WeThinkIn老实人报】旨在整理&挖掘AI行业的关键新闻和最新技术,同时Rocky会对这些关键信息进行解读,力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议,一起交流学习&…

2023亚太杯数学建模B题思路解析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…

程序运行前后内存分区存储

程序运行前是源码 在程序运行后,生成了exe可执行程序 分为代码区和全局区 代码区: 存放CPU执行的机器指令代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码就可以了代码区是只读的,其只读…

BEVFusion简介、环境配置与安装以及遇到的各种报错处理

BEVFusion简介、环境配置与安装以及遇到的各种报错处理 BEVFusion简介BEVFusion环境配置与安装报错解决 BEVFusion简介 针对点云投射到图像的多模态融合和图像投射到点云的多模态融合,前者会损失空间几何信息,后者会损失图像语义信息,这两种…

janus 安装部署

本文使用docker进行安装,还没有安装docker和docker-compose的,请自行安装,这里就不介绍了 环境 janus-gateway镜像版本:anyan/janus-gateway:0.10.7 linux版本: Ubuntu 18.04.6 LTS coturn/coturn 镜像版本: coturn/coturn:latest 镜像ID 8…

java算法学习索引之动态规划

一 斐波那契数列问题的递归和动态规划 【题目】给定整数N,返回斐波那契数列的第N项。 补充问题 1:给定整数 N,代表台阶数,一次可以跨 2个或者 1个台阶,返回有多少种走法。 【举例】N3,可以三次都跨1个台…

【ARM Trace32(劳特巴赫) 使用介绍 4 - Trace32 Discovery 详细介绍】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 1.1 SYS.Detect1.2 AHBAPn/AXIAPnAPBAPn.Base1.1 SYS.Detect 在 TRACE32 中, SYS.Detect 是一个用来检测目标系统配置的命令。 当你执行 SYS.Detect DAP 命令时,TRACE32 将自动检测和识别目标系统上的 ARM De…

VScode不打开浏览器实时预览html

下载Microsoft官方的Live Preview就行了 点击预览按钮即可预览

前端---CSS的样式汇总

文章目录 CSS的样式元素的属性设置字体设置文字的粗细设置文字的颜色文本对齐文本修饰文本缩进行高设置背景背景的颜色背景的图片图片的属性平铺位置大小 圆角矩形 元素的显示模式行内元素和块级元素的转化弹性布局水平方向排列方式:justify-content垂直方向排序方式…

GoldWave 6.78中文免费激活版功能特色2024最新功能解析

GoldWave 6.78中文免费激活版是一款多功能、强大且用户友好的音频编辑工具。它为音乐制作人、播客主持人以及音频编辑爱好者提供了全面的编辑功能,让你能够创造出高质量的音频作品。无论你是在音乐制作、音频修复还是播客制作,GoldWave 都是一个值得一试…

【Python3】【力扣题】263. 丑数

【力扣题】题目描述: 此题:正整数n,能被2或3或5整除,且不断除以2或3或5最终的数是1。 【Python3】代码: 1、解题思路:递归。 知识点:递归:函数中调用函数自身(必须有退…

Metric

如果 Metric ‘use_polarity(使用极性)’ ,则图像中的对象必须和模型具有相同的对比度(Contrast)。比如,如果模型是一个在暗/深色背景上的明亮物体,则仅当对象比背景更亮时才会被找到。 如果 …

Python 使用tkinter复刻Windows记事本UI和菜单功能(二)

上一篇:Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)-CSDN博客 下一篇:敬请耐心等待,如发现BUG以及建议,请在评论区发表,谢谢! 相对上一篇文章,本篇文…

arcgis提取栅格有效边界

方法一:【3D Analyst工具】-【转换】-【由栅格转出】-【栅格范围】 打开一幅栅格数据,利用【栅格范围】工具提取其有效边界(不包含NoData值): 方法二:先利用【栅格计算器】将有效值赋值为1,得到…

vue项目路由使用history模式,nginx配置,刷新页面显示404

需要在配置项中添加 try_files $uri $uri/ /index.html;

MySQL:语法速查手册【持续更新...】

一、定义基本表 1、常用的完整性约束 主码约束 primary key外键约束 foreign key唯一性约束 unique非空性约束 not null取值约束 check2、例题 【例1】建立一个“学生”表Student,由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中…

HarmonyOS开发(一):开发工具起步

1、DevEco Studio 工具下载地址:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 DevEco Studio基础配置 Node.jsOhpm 这两个都可以在进入IDE时在工具上选择下载安装 2、HelloWorld工程 打开DevEco,那么会进入欢迎页,点击Create Project---…

Spring事务之@EnableTransactionManagement

前言 EnableTransactionManagement 是Spring框架提供的一个注解,用于启用基于注解的事务管理。通过使用这个注解,你可以开启Spring对事务的自动管理功能,使得你可以在方法上使用 Transactional 注解来声明事务。 EnableTransactionManageme…

Windows环境下ADB调试——安装adb

一、下载 Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zipMac版本:https://dl.google.com/android/repository/platform-tools-latest-darwin.zipLinux版本:https://dl.google.com/android/reposit…