etl构建数据仓库五步法_构建数据仓库五步法
一、确定主题
即确定数据分析或前端展现的主题。(以汽车行业的KPI管理分析系统为例)
例如:我们希望分析某年某月某区域某门店销售情况,这就是一个主题。
主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。统计数值型数据(量度)存在于中间的事实表;分析角度是各个维度;我们将通过维度的组合,来考察量度。
那么,“某年某月某某一地区某一门店的销售情况”这样一个主题,就要求我们通过时间、地区和门店三个维度组合,来考察销售情况这个量度。
从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市。数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。
二、确定量度
在确定了主题以后,我们将考虑要分析的技术指标,诸如:年销售额之类。它们一般为数值型数据。
我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大值最小值等,这样的数据称为量度。量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。
三、确定事实数据粒度
在确定了量度之后,我们要考虑到该量度的汇总和不同维度下量度的聚合情况。考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。
例如:假设目前的数据最小记录到月,即数据库中记录了每月的交易额。
那么,如果我们可以确认,在将来的分析需求中,交易额只需要精确到月就可以的话,我们就可以在ETL处理过程中,按月为单位来汇总销售数据,此时,数据仓库中量度的粒度就是“月”;反过来如果我们不能确认将来的分析需求在销售额上是否需要精确到月,那么,我们就需要遵循“最小粒度原则”,在数据仓库的事实表中保留每日的销售数据,以便日后对“天”进行分析。
举例:汽车行业KPI分析系统中,需求变更要求以天为单位分析门店的销售情况。
四、确定维度
1、如何理解维度?及维度的层次(Hierarchy)和级别(Level)
a、维度是指分析的各个角度。例如我们希望按照时间,或者按照地区,或者按照门店名称进行分析,那么这里的时间、地区、门店就是相应的维度。基于不同的维度,我们可以看到各量度的汇总情况,也可以基于所有的维度进行交叉分析。
b、维度的层次(Hierarchy)和级别(Level)
层次:时间维表结构为例,年-半年-季度-月-半月-旬-周-日
级别:门店维表结构为例,门店集团分类、门店类型分类等等
2、什么是缓慢变化维度?
维度表随时间变化的问题,我们称其为缓慢变化维度。
以客户维度表结构为例,每月所属有限公司发生变化,客户代码、客户标识、源客户标识、客户全称、分公司编号、分公司名称、历史标识(T/F)等变化。
五、创建事实表
a、了解
在确定好事实数据和维度后,我们将考虑加载事实表。
事实表装有企业的度量数据,度量以及事实表才是最终用户真正想要看的内容,维表是事实表数据的入口,事实只有通过维度解释才会变得有意义
b、如何创建?
做法:将原始表(OLTP)与维度表进行关联,生成事实表
注意点:在关联时有为空的数据时(数据源脏),需要使用外连接,连接后我们将各维度的代理键取出放于事实表中,事实表除了各维度代理键外,还有各量度数据,这将来自原始表,事实表中将存在维度代理键和各量度,而不应用存在描述性信息,即符合“瘦高原则”,即要求事实表数据条数尽量多(粒度最小),而描述性信息尽量少。
事实数据表是数据仓库的核心,需要精心维护,在JOIN后将得到事实数据表,一般记录条数都比较大,我们需要为其设置复合主键和索引,以实现数据的完整性和基于数据仓库的查询性能优化。事实数据表与维度表一起放于数据仓库中,如果前端需要连接数据仓库进行查询,我们还需要建立一些相关的中间汇总表或物化视图,以方便查询。
etl构建数据仓库五步法_构建数据仓库五步法相关推荐
- 数据仓库—stg层_马蜂窝数据仓库的架构、模型与应用实践
(马蜂窝技术原创内容,公众号ID:mfwtech) 一.马蜂窝数据仓库与数据中台 最近几年,数据中台概念的热度一直不减.2018 年起,马蜂窝也开始了自己的数据中台探索之路. 数据中台到底是什么?要不 ...
- java 构建是什么意思_构建的概念
[Maven 简介] Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. Make-> ...
- fusion构建器代码语法_构建器模式:适用于代码,适用于测试
fusion构建器代码语法 我发现构建器设计模式偶尔在代码中有用,但在测试中经常有用. 本文简要概述了该模式,然后介绍了在测试中使用该模式的一个有效示例. 请参阅github中的代码. 生成器模式的背 ...
- 微信小程序构建商城百度云_构建云存储应用程序
存档日期:2019年5月13日 | 首次发布:2015年2月13日 了解如何创建一个简单的Node.js应用程序,该应用程序使用IBM Object Storage Service for Bluem ...
- 2920集五福_支付宝集五福攻略 ▏顺便学点营销活动传播套路
到今天为止,你一共收齐了几张福卡了呢? 本月5号,支付宝在微信公众号里发了<新年俗 集五福>的推文,"2月6日0点,支付宝里见,有你们就有福". 同时,一名叫" ...
- bp神经网络预测未来五年数据_预测 | 未来五年以太网收发器出货将达2.75亿只
新闻导读 LC最新预测表明,从2021年到2025年间,供应商将售出2.75亿只以太网收发器,为其带来240亿美元的收入.但由于激烈的竞争.电信和企业网络投资的放缓,以及中美敌对升级可能导致中国云数据 ...
- 2920集五福_支付宝集五福2020工具
集福宝是一款由网友最新开发的集福工具,2020支付宝集福活动正式开启,如果你想要快速集齐五福的话,它可以帮上很大的忙.只需要扫一扫即可,不用去别的地方找福字,快来体验一下吧. 集福宝使用说明 直接通过 ...
- python模拟春节集五福_过年扫五福,干脆我用Python做一个五福生成器
原标题:过年扫五福,干脆我用Python做一个五福生成器 新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快 ...
- etl构建数据仓库五步法_带你了解数据仓库的基本架构
数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support).其实数据仓库本身并不"生产"任何数据,同时自身也不需要"消费&quo ...
最新文章
- css中float用法
- Java 里的 for (;;) 与 while (true),哪个更快?
- DATETIME类型和BIGINT 类型互相转换
- 多态定义、多态实现、多态分类。
- 2013年7月29日周一
- 1126: 第二章:我们都有梦想
- 判断用户的参数(条件测试语句)
- [Err] 1064 - You have an error in your SQL syntax check the manual that corresponds to 之Mysql报错
- C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031
- 华三 h3c交换机MSTP配置
- uva 12230 - Crossing Rivers(概率)
- 在 Vue 中实现粒子特效 Particle Effect for Vue
- Facebook上市或造千亿美元航母
- 数介牵手亿阳,ALEIYE深入运营商大数据
- 2022-2028全球婚恋交友软件行业调研及趋势分析报告
- 【计算机网络】TCP糊涂窗口综合症
- 2021年7月国产数据库排行榜:openGauss高歌猛进,GBase持续下跌
- 2019春招宇视科技嵌入式面试
- 从B 树、B+ 树、B* 树
- 什么是skywalking
热门文章
- tensorflow精进之路(二十二)——使用slim模型对图像识别与检测(下)(VGG19模型)
- TensorFlow精进之路(十二):随时间反向传播BPTT
- 算法-粒子群算法-Matlab实现
- php抽象类初始化方法,php – 抽象类方法声明
- [bzoj5158][Tjoi2014]Alice and Bob
- [USACO09JAN]安全出行Safe Travel
- Spring Boot 初步小结
- 二、oracle sql*plus常用命令
- tomcat服务器开启gzip功能的方法
- 使用java程序读取配置文件中的相关属性值-asp.net关注