数仓各个层级都在干什么

数仓分层是为了将复杂问题简单化,和解耦。数仓是数据量和数据复杂度上升到一定程度的产物。最初的设计都是烟囱式的开发。就比如你有几本书,还需要像图书馆那样分门别类吗?数据分层,有分三层(ods层,dw层,dm层),有分四层(ods层,dwd层,dws层和ads层)。
1、问为什么分三层,或者四层,每一层都做了什么,如果不这么分可不可以?
我觉得首先达成一致的是数仓要分层。然后是分几层,ods层是数据贴源层,与数据源的数据结构基本一致,数据也只是源数据的落地,不进行任何处理。然后是dw层,dw层可以细分为dwd层和dws层。这里分几层可能会有些异议。但是adw层肯定需要,为前端提供数据的层。
dwd层:存放明细事实数据、维表数据
电商dwd层的数据分日志和业务:
日志:在ods层存的日志数据只是一个json串,所有信息均在日志表中,到了dwd层需要将数据分开,比如:
dwd :用户点击表,商品详情页表、商品列表页表.....点赞表、启动日志表、错误日志表等等,这些表建日期分区,存储是textfile
dws层:每日,每周,每月日活,这些是按照日期维度汇总的表。
根据需求:用户新增,dws层每日新增设备明细表,此时维度只是在日期上进行了汇总,别的维度还是明细。这是根据dws层每日日活加工生成的指标表。
根据需求:用户留存。在dws层,用每日日活和用户新增关联得到留存表,维度还是明细
ads层:直接生成应用需要的数据,比如活跃用户,将日活,周活,月活放在一张表中&#x
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值