SparkSQL电商用户画像(四)之电商用户画像数据仓库建立
六、电商用户画像数据仓库建立6.1 数据仓库准备工作
为什么要对数据仓库分层?星型模型 雪花模型
User----->web界面展示指标表
l 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;
l 如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大
l 通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。
数据仓库标准上可以分为四层:ODS(临时存储层)、PDW(数据仓库层)、MID(数据集市层)、APP(应用层)
ODS层:
为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。一般来说ODS层的数据和源系统的数据是同构的,主要目的是简化后续数据加工处理的工作。从数据粒度上来说ODS层的数据粒度是最细的。ODS层的表通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。历史数据一般保存3-6个月后需要清除,以节省空间。但不同的项目要区别对待,如果源系统的数据量不大,可以保留更长的时间,甚至全量保存;
PDW层:
为数据仓库层,PDW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。这一层的数据一般是遵循数据库第三范式的,其数据粒度通常和ODS的粒度相同。在PDW层会保存BI系统中所有的历史数据,例如保存10年的数据
MID层:
为数据集市层,这层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。从数据的时间跨度来说,通常是PDW层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年(如近三年的数据)的即可。从数据的广度来说,仍然覆盖了所有业务数据。
APP层:
为应用层,这层数据是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。从数据粒度来说是高度汇总的数据。从数据的广度来说,则并不一定会覆盖所有业务数据,而是MID层数据的一个真子集,从某种意义上来说是MID层数据的一个重复。从极端情况来说,可以为每一张报表在APP层构建一个模型来支持,达到以空间换时间的目的数据仓库的标准分层只是一个建议性质的标准,实际实施时需要根据实际情况确定数据仓库的分层,不同类型的数据也可能采取不同的分层方法。
这里我们采用的是京东的数据仓库分层模式,是根据标准的模型演化而来。
数据仓库分层:
BDM:缓冲数据,源数据的直接映像
FDM:基础数据层,数据拉链处理、分区处理
GDM:通用聚合
ADM:高度聚合
先把数据从源数据库中抽取加载到BDM层中,
然后FDM层根据BDM层的数据按天分区 6.2 数据仓库基本表介绍BDM层数据表
(贴源缓存层)
订单表
itcast_bdm_order
订单明细表
itcast_bdm_order_desc
订单商品表
itcast_bdm_order_goods
用户表
itcast_bdm_user
购物车表
itcast_bdm_order_cart
用户上网记录表 itcast_bdm_user_pc_click_log
itcast_bdm_user_app_click_log FDM层数据表
(拉链表、分区表)
用户宽表
itcast_fdm_user_wide
购物车表
itcast_fdm_order_cart
订单表
itcast_fdm_order
订单表明细表
itcast_fdm_order_desc
用户app端view表
itcast_fdm_user_app_pageview
用户pc端view表
itcast_fdm_user_pc_pageview GDM层数据表
(通用数据模型层)
客户基本属性表
itcast_gdm_user_basic
客户消费订单表
itcast_gdm_user_consume_order
订单模型表
itcast_gdm_order
客户购买类目表
itcast_gdm_user_buy_category
客户访问信息表
itcast_gdm_user_visit
手持iPhone12有没有换iPhone13的必要呢?我的建议是不要更换,iPhone12到iPhone13的升级幅度事比较小的。主要体现在处理器的升级,还有刘海尺寸的缩小,屏占比的上升,虽说处理器处理能力是有幅度提升的,但对于用户来
2K屏骁龙888处理器,8128G降1200元,魅族18Pro开始退场在国产智能手机当中,从去年开始就已经有很多手机厂商开始进军高端旗舰机市场。但想要在高端市场上站稳脚跟比不上一件容易的事,很多高端旗舰都很难被消费者认可,在大部分消费者眼中不过只是价
Java比较抽象类与接口的异同一。抽象类(一)概念在继承的层次结构中,每个新的子类都使类变得更加明确和具体。如果从一个子类向父类追溯,类就会变得更通用更加不明确。类的设计应该确保父类包含它的子类的共同特征。有时
python初学者必须吃透的这些内置函数所谓内置函数,就是Python提供的,可以直接拿来直接用的函数,比如大家熟悉的print,rangeinput等,也有不是很熟,但是很重要的,如enumeratezipjoin等,
芯片功耗年年降低,为什么还是会有火龙出现?这个其实类似那个经典水龙头注水放水问题。工艺和架构的进步确实会降低芯片功耗,相当于放水但是你的性能要求也是需要持续提升的,相当于需要注水。功耗需要在这注水放水之中找到属于自己的平衡
你如何比较曹德旺,任正非,柳传志?有人侠之大者为国为民,有人慷慨解囊国之栋梁有人蝇营狗苟冠冕堂皇!大笑柳传志有资格和任正非曹德旺相提并论吗?曹德旺朴实又大气,仼正非实在且豪气,柳传志刁滑而丧气!前面两个是企业家,后
怎么做微信营销?营销新人想做微信营销,推荐微信营销360度指南,今天分享思维导图读书笔记,摘录了核心的6章,包括品牌布局O2O功能营销等,还有一些实例介绍。目录一微信洪流,商机暗涌用户行为分析特别
马斯克因出售10股份推文遭投资者起诉来源盖世汽车星云据外媒报道,特斯拉遭到了来自投资者的起诉,原因是该公司CEO埃隆马斯克(ElonMusk)在社交媒体上发表了关于出售股票的推文,从而拉低了其股价。特斯拉投资者Dav
段永平国内外投资案例分析1投资拼多多的逻辑是什么?段永平我不投早期,只投上市企业,投黄峥是因为个人原因。我和黄峥10多年的朋友了,我了解他,信任他!黄峥是我知道的少见的很有悟性的人,他关注事物本质。买进拼
ES11中的?。????运算符的应用场景我们介绍ES11新特性这个新特性在判断空值的方面非常简单,相关语法如下。1可选链语法(?。)obj?。prop如果存在prop则返回属性obj?。prop根据obj是否存在prop
新闻之热点大事件今日头条新闻之热点大事件旷视云从等集体回应被美拉黑相关指控毫无事实根据针对美国制裁,12月17日,旷视科技云从科技依图科技立昂技术等公司均表示强烈反对,相关指控毫无事实根据,并表示