大数据--数据仓库2--电商数据仓库项目最全总结2

 

目录

一:一个基本的数据仓库应该包含哪些功能模块

二:数据搭建过程中遇到哪些问题,如何解决的?

三:数仓建模具体指什么?为什么如此重要?

3.1 ODS 层

3.2 DWD层

3.3 DWS 层

3.4 DWT

3.5 ADS 

四:拉链表及其设计

4.1为什么需要拉链表

4.2 拉链表定义

4.3 :拉链表创建过程

五:范式理论和函数依赖

5.1 范式理论目的

5.2 函数依赖

5.3 范式分类

六:维度模型分类

6.1 星型模型

6.2 雪花模型

6.3 星座模型

七:数据仓库分层的优点

八:常用表及其对应类型(重点思考)


一:一个基本的数据仓库应该包含哪些功能模块

    包含数据采集,数仓分层,任务调度,数据可视化,即席查询,权限管理,元数据管理,数据质量监控,集群性能监控等模块。

二:数据搭建过程中遇到哪些问题,如何解决的?

2.1安装配置完某个组件HIve之后发现该组件不能正常工作

    解决: 查看运行日志,进行谷歌,定位问题原因,查看HIve配置文件,脚本文件编辑错误,纠正脚本后,组件运行成功。

2.2 Hive进行脚本调度过多的sql代码的时候(创建表,导入数据)的时候,hive会报内存溢出?

    解决:重新启动hiveserver2,把sql代码分成好几个sql文件进行执行。

三:数仓建模具体指什么?为什么如此重要?

     数仓建模是数据仓库的灵魂。评价一个数仓的好坏,全靠建模。

3.1 ODS 层

  • 保持数据原貌,不做仁和修改,起到数据备份的作用;
  • 创建分区表,防止后续全表扫描
  • 采用压缩,减少磁盘存储空间

3.2 DWD层

  采用标准的建模四步

  • 选择业务过程
  • 声明粒度
  • 确定维度
  • 确定事实

粒度

      粒度指一行信息代表的含义。比如一行信息代表:一次下单,粒度就是一次;

一天下单,粒度就是一天。一个月下单,粒度就是月;如果粒度是月,那么后续想统计天相关的指标就统计不了了。

故选择粒度的时候,最好选择最小粒度。如果选择最小粒度,保持数据原样,不做聚合操作就可以。

维度

         就是什么时间,什么地点,哪个人,哪个商品,哪个活动,优惠券等名词。

确定事实

       这里指确定度量值。所谓的度量值,通常指,次数,件数,个数,金额等

维度退化

     根据确定的维度和事实,进行维度退化。

     当一个维度没有数据仓库需要的任何数据的时候就可以退化此维度,需要把退化维度的相关数据迁移到事实表中,然后删除退化的维度。

即维度属性也可以存储到事实表中,这种存储在事实表中的维度列称为维度退化

     举例:比如说订单id,这种量级很大的维度,没必要用一张维度表来进行存储,

而我们进行数据查询或者数据过滤的时候又非常需要,所以这种就冗余在事实表里面,

这种就叫退化维度,citycode这种我们也会冗余在事实表里面,但是它有对应的维度表,所以它不是退化维度。

     比如将商品表,商品SPU表,品类表,商品一级分类,二级分类,商品三级分类退化成商品维度表。

  再比如将省份表,地区表退化为地区维度表。

     迁移:实际业务中游戏渠道名称和游戏id为例。由于每次报表的时候既需要展示游戏渠道名称和游戏渠道id

所以我们就把游戏名称这个字段直接迁移到事实表中来,虽然字段有冗余,但是不用做join连接,也提高来查询速度。

维度退化优点<

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值