写在前面: 我是
「nicedays」
,一枚喜爱做特效,听音乐,分享技术的大数据开发猿
。这名字是来自world order乐队的一首HAVE A NICE DAY
。如今,走到现在很多坎坷和不顺,如今终于明白nice day是需要自己赋予的。
白驹过隙,时光荏苒,珍惜当下~~
写博客一方面是对自己学习的一点点总结及记录
,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对大数据与机器学习
感兴趣,可以关注我的动态https://blog.csdn.net/qq_35050438
,让我们一起挖掘数据与人工智能的价值~
文章目录
数据仓库–高级维度建模方法:
一:维度整合:
整合的原因:
- 应用在编码,命名习惯,度量单位不同系统会存在较大差异,如0,1和F,M。
- 应用出于性能和扩展性的考虑,不同的系统用的是不同类型的数据库存储
所以数据由面向应用的操作型环境进入面向主题的数据仓库后,需要数据集成。
成为数据仓库前过渡成面向主题的整合方式:
-
命名规范的统一
表名,字段名统一
-
字段类型的统一
相同相似字段得字段类型统一
-
公共代码及代码值得统一
公共代码及标志性字段得数据类型,命名方式得统一
-
业务含义相同得表得统一
高内聚,低耦合,将业务关系大,源系统影响差异小的表进行整合,将业务关系小,源系统影响差异大的表分而置之。
-
采用主从表的设计方式 :
将多张表都有的字段放在主表,从属信息分别放在各自的从表,对于主表主键,采用复合主键
-
直接合并:
共有信息和个性信息都放在同一张表中,如果表字段重合度较低,会出现大量空值,谨慎选择。
-
不合并:
因为源表的表结构及主键等差异很大,不合并。
-
成为数据仓库后维度表的整合方式:
维度表内容的整合与上述方式相同,下面列表级别的整合
-
垂直整合
不同的表来自相同的数据集,在会员相关信息这个数据集里,源系统里可能有多种会员表(会员基础信息表,会员扩展信息表,会员等级信息表),我们需要将多张表整合至会员维度属性。
-
水平整合
不用的表来自不同的数据集,存在交叉或者不存在交叉,面对采集的会员数据,可能来自淘宝会员,支付宝会员等等,需要将所有的会员整合到一起,我们将来源表的各子集的自然键作为联合主键的方式,并在物理实现时将来源字段作为分区字段。
二:维度拆分:
水平拆分:
面对各个行业,大类可以进行水平类别细分