00:00
呃,来吧,各位同学,那咱接下来呢?呃,要回顾的内容是维度模型的设计思路,呃,那实际上呢,我们前面有一小节讲的是什么是数据仓库从零到一的一个构建流程,对吧?呃,那维度模型的设计咱们需要用到一个什么东西来着?是不是需要用到一个所谓的业务总线矩阵呀,对吧?大家对这个东西还有印象吧?呃,业务总线矩阵它其实整体上是一个二维的表格,对吧?每行代表的是一个业务过程,呃,具体来说呢,就是代表一个事物事实表对吧?那每列呢,代表的是一个维度啊,那完事就具体来说代表的就是一个维度表,没错吧?OK,那事实跟维度它的一个焦点就表明是不是这个事实跟这个维度它俩是有关联关系的,对吧?这就是所谓的业务总线矩阵,那我们只要有了这个总线矩阵之后啊,那我们实际上就可以根据它是不是去设计咱这个维度模型啊,对不对,OK啊,那大家还记不记得这个业务总线矩阵,我们是怎样给它设计出来的,对吧。
01:00
怎样能得到这个业务总监矩阵啊,其实按照咱们之前的说法,我们是怎么做的,来我们往下走啊,找到咱这个业务总监矩阵这一节,来咱们看看啊,实际上呢,我们只需要按照事物型事实表的设计流程是就能构建出来这个所谓的业务总线矩这样对吧?啊,为什么是这样的啊呃,实际上这个道理很简单,那首先前面已经解释过了啊,就是维度模型是以事实表为核心,而事实表里边呢,主要又是以这个事物实表是不是为主啊,对吧?那所以说我们只需要按照事物事值表的这个设计步骤,就能够把整个维度模型先大体的呢给它设计出来,先有一个整体的规划啊,是这样的啊,那OK,那咱接下来呢,就把这个业务总线矩阵打开,咱们这回呢,好好的看一看它,那完了之后呢,我们再去根据它去设计咱们的D层和DWD层,OK,那咱现在把它打开。OK,呃,那之前呢,我给大家简单说过一下,就是整个总线矩阵是怎么来的,对吧?就是按照那四个步骤去做的,这回我就不再去走这个步骤了啊,那现在咱们就重点的来看一看我们这个业务总裁矩阵到底有哪些业务过程,到底有哪些维度,比如将来咱们整个维度模型到底有什么实值表,有什么维度表来那咱们现在呢,先看一下我们的这个业务过程吧,OK,大家来看一下啊,就是左边呢,那这一列我们能看出来,咱们所有的业务过程就摆在这儿了,那在这儿呢,我们把所有的业务过程是不是划分了一个数据啊对吧?那交易域下边一共有加购、下单、取消订单、支付成功退单退款,哎,有这样的几个业务过程,那流量域里边呢,有页面浏览动作曝光启动和错误,呃,然后呢,用户域里边呢,有注册有登录,那工具域里边呢,有领取优惠券,使用优惠券,还有这个使用优惠券,那当然两个使用,一个是下单,一个是支付啊。
02:44
再往下呢,就是互动域,互动域包括收藏和评价,这是咱们所有的业务过程啊OK,那在这儿呢,我们列出来的维度,或者我们找到的维度都有哪些呢?咱们也是先来做一个整体的这个,呃,这个这个这个观看啊来我们看一下,那这边呢,有一个时间维度,用户维度,商品维度,地区维度,活动维度,还有优惠券维度,那后边呢,有支付方式,退单类型,退单原因类型,还有渠道,还有设备,那这这这些呢,就是我们整个的这个呃,维度模型当中所涉及到的业务过程和维度啊OK啊好,那完在这儿呢,我就暂时先不带着大家一个一个业务过程去去去走那个过程了啊呃,因为咱们要是每个业务过程我都去走一下生命力度,确认维度,确认事实,这个步骤,那咱们这花费的时间其实是比较多的,那咱什么时候去带大家详细的去看呢?到时候嗯,比如说我们将来是不是设计完维度,我要去设计事实表,对吧,那玩意我们呃,讲到每一张事实表的时候,我们再去详细的说,OK,那我这个业务过程,那它的。
03:45
维度是怎么确定的,它的力度怎么确定的,它的度量值有什么,到时候咱们再说,那现在咱们先重点看什么呢?先重点把这些维度看一下,因为我们接下来的这一张是不是主要就是维度啊,对吧?OK啊好,那各位同学,那目前咱们应该能看出来,就是与我们所有的业务过程相关的维度是不是一共有这些啊,对吧?OK,那理论上啊,是不是我们这里边每每一个维度,我们都应当为它创建一个什么表,是不是维度表啊,对吧?啊是这样的,但是我们这儿实际上呢,创建的维度表,就是最终创建出来的维表并没有这么多,你会发现我们整个维度模型当中,我们创建的维度表实际上一共只有这六张啊,分别是时间维度,用户维度,商品维度,地区维度,活动维度,还有优惠券维度,咱们就一共有这样的六个维度表,那OK,那后边这些维度我们为什么没有去创建相应的维度表呢?实际上在这儿我们做了一个操作,大家应该能想到什么操作啊,其实就是维度退换啊,我给大家简单解释一下啊,就是为。
04:45
为什么后边这几个维度我们给他做了退化了,呃,在这儿呢,我们简单来看一下,首先第一个就是啥呢?就是这个支付方式,呃,这个支付方式它之所以要做退化是因为什么呀?因为它确实这个属性是比较少的,因为一个支付方式呢,我们说白了就一个字段对吧,你就告诉我是支付宝,微信还是银联就完事了,对吧?就一个字段,所以这个属性比较少,我们没必要给他去单独的创建一个维度表,所以直接呢就把它退化到了与之相关的事实表当中了,那其实谁跟他有关呢?支付还有退款是不是都是跟支付方式有关的呀,对不对?OK,那继续往下走,下边还有一个这个维度叫做退单类型,这个退单类型其实之前我已经跟大家说过了,什么叫退单类型来着,哎,是就是退货退款或者是仅退款呀,对吧,这样的两种,它其实也是只有一个字段是就够了,所以它也是做了维退划,OK,往下走,退单原因类型,这个原因类型大家应该也能想到市啥吧,啊,应该都是就是啥呀,比如说七天无理由啊对吧,或者尺码,呃,尺码问题啊,或者说是这个质量问题等等等。
05:45
啊,诶,就是这个所谓的退单原因类型,那它其实也是一个维度啊,那显然这个退单类型和呃,退单原因类型他俩是跟谁相关的呢?是不是应该是跟退单这个业务完成相关的呀,对不对,而且他俩的属性也确实是比较少的,所以说也是直接给他做了评化,OK,那再往后看,我们这还列出来了两个维度,这两个维度一个是渠道,一个是设备信息,大家想想你说这都是跟谁相关的?
06:10
都是跟谁相关的设备啊,或者是渠道信息,这都是来自于哪的呀?是不是来自咱们这个日志啊,对吧?大家回忆一下,就是我们那个日志当中是不是有一个common字段,里边存放的是不是就是设备信息啊,渠道信息啊等等,是不是就这些东西对吧?大家注意观察,就这些东西我们在这儿也没有单独的给他们去创建维度表,而是也是直接怎么做了呢?把他们退化到了与之相关的这个业务过程的实施表当中啊,诶,为什么这些字段我们也要去做这个退化,大家可能会想到,诶,我这个设备信息,我的信,我的属性也不少啊,对吧?我设备信息我会有什么呀?设备的型号,设备的品牌对不对?那操作系统等等,这是不是都是设备的信息啊?对吧,那我这属性也不少啊,我为什么也要做推化呢?其实在这儿呢,咱是这么去考虑的啊,那大家想一想,就首先与这些维度相关的这个业务过程都是谁,是不是都是那个日志当中的业务过程对吧?页面浏览动作曝光,启动应用,然后错误对不对,OK,那大家都。
07:10
知道这个业务过程的数据,包括这些维度的数据,我们都是来自于日志的,那在日志里边啊,本身是不是我的这个维度信息,跟咱们那个业务过程的数据是不是本身就是在一起的呀,最开始对不对,那如果说在这儿呢,我们单独的去给他建啊这个维度表,那你需要怎么做呢?是不是需要把这个,呃,业务过程,也就是事实表的数据和这个维度的数据是不是先得给它分开啊,对吧,没有对吧,分开之后,将来你要想用的话,还得怎么做。你是不是还得再做job对不对,因为正常你要做需求分析,是不是得用事实跟维度进行关联呀,对吧?OK,那所以咱这就没必要这么折腾了,对吧?本来你最开始就是在一起的对不对,那我就没必要再分开,然后用的时候我再去做账了,那你既然一开始在一起,那我就诶在这个设计这个维度模型的时候,也就还让他在一起就完事了,对吧?那怎么让他在一起呢?很简单,是不是就把这些维度属性都直接给它设计到我们这个与之相关的实时表当中就完事了,对吧,就是做一下这个退化就完事了。好了,那实际上这就是咱们将来呃需要去构建的所有的维度啊,当然最终的这个维度表呢,咱们只有这六张啊,只有这六张,那正好就对应我们文档当中的来看一下,诶,这个往下走啊,往下走第八章的正好对应第八章的这六节啊一小节我们对应一张维度呀,啊是这样的啊好了各位同学,那截止到现在呢,维度建模的相关的这个知识点,咱们就呃回顾的差不多了,当然这里边我们重点回顾的是谁呢?重点回顾的是与维顾维度相关的内容,对吧?啊是这样的,然后。
08:38
事实表呢,呃,比如什么选择个过程怎么选,然后什么声明力度怎么声明对吧?等等这些东西我们现在就先不说了,等我们后边真正的去建维度表的时候,咱们再详细的去说这个事儿啊,好了,那这个完事之后我把视频停一下啊。
我来说两句