大数据项目之电商数仓-用户行为数据仓库
Posted _TIM_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据项目之电商数仓-用户行为数据仓库相关的知识,希望对你有一定的参考价值。
数据仓库分层
- 把复杂问题简单化,把一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解
- 清晰的数据结构,每一层都有它的作用域,这样我们在使用表的时候能更方便的定位和理解。 便于维护数据的准确性,当数据出现问题的时候,可以不用修复所有的数据,只需要从有问题的步骤开始修复
- 减少重复开发,规范数据分层,通过中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性
- 隔离原始数据,使得真是数据与统计数据接耦
分层结构图
- ODS层(原始数据层)
原始数据层,存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理。 - DWD层(明细数据层)
结构和粒度与ODS
层保持一致,对ODS
层数据进行清洗(去除空值,脏数据,超过极限范围的数据),也有公司叫DWI
。 - DWS层(服务数据层)
以DWD
为基础,进行轻度汇总。一般聚集到以用户当日,设备当日,商家当日,商品当日等等的粒度。在这层通常会有以某一个维度为线索,组成跨主题的宽表,比如,一个用户的当日的签到数、收藏数、评论数、抽奖数、订阅数、点赞数、浏览商品数、添加购物车数、下单数、支付数、退款数、点击广告数组成的多列表。 - ADS层(数据应用层)
数据应用层,也有公司或书把这层命名为APP
层、DAL
层等。面向实际的数据需求,以DWD
或者DWS
层的数据为基础,组成的各种统计报表。统计结果最终同步到RDS
以供BI
或应用系统查询使用。
Hive运行引擎Tez
性能优于MapReduce
,用Hive
直接编写程序,假设有四个有依赖关系的MapReduce
作业,绿色是Rgmallce Task
,云状表示写屏蔽,需要将中间结果持久化写到HDFS
。Tez
可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS
,且中间节点较少,从而大大提升DAG
作业的性能。
以上是关于大数据项目之电商数仓-用户行为数据仓库的主要内容,如果未能解决你的问题,请参考以下文章