00:00
好,接下来呢,我们来看一下每日商品行为啊商品,那商品行为呢,你还是要看下这张图。啊,这张图很关键啊,也就说你们日后呢,在这个DW对DWSDWT进行设计的时候,你要站在这个维度的角度去看事实。这时候有一些面试官,他会问说,你们依据什么去建设这个宽表?啊,要记住这种哈,如果在企业的时候呢,他会问你基于什么角度,你去,你为什么要这张表。啊,你的理论依据是什么?那就是我们会站待维度的角度去看待事实,尤其是看待事实里面的度量值,对吧?好,那么来看吧,这个建模里面我们是现在看的是商品。哎,上面在这。那跟商品相关的这个事实表有哪些呢?订单详情。啊,加入购物车试试表。
01:00
这呢是收藏40表。评价40表,退款40表,那你想吧,现在我们还没看这个款表了哈,没看这个款表的时候,你想一想,你要站在这个商品的角度,你能统计哪些信息呢?对吧,你想统计哪些信息呢?那就是你这个商品订单有关系。哎,那你说这个订单里面存储了哪些商品。对吧,有哪些商品被购买了,哪些商品被下单了。那还有哪些商品被加入到购物车了?对吧,哪些商品被收藏了。哪些商品被评价了?哪些商品被退款了?对吧,你,很显然啊,这张宽表在你的脑海当中已经会产生了一个轮廓,初步的轮廓就这些信息。它围绕着这个维度的所有的40表的度量值,那来看一下,看一下我们这里面怎么定义的。怎么定义的?那首先你看这个前缀就能看出来这张宽表的前缀订单。
02:06
支付。退款。架构这个呢是收藏。下面是评价。是吧,就是我们刚才说所说到的那几张试试表。那好吧,那他跟订单之间会发生怎样的火花呢?被下单的次数,这个商品下单次数,下单件数。被下单金额。跟支付表又会产生怎样的火花呢?支付的次数,被支付数,哎,这俩是一样啊。啊,这个是数量啊,啊件数件数一个是次数,一个是件数啊不太一样。啊不太一样,还有呢,是这个啊支付的金额。这个退款次数,退款件数,次数和件数能理解吧,一次的里面可能会包括多个商品是吧,包括多个件数。啊,多个件数,那个件,这个件数呢,是指具体的一个商品啊,具体一个商品OK,还有呢,是退款的金额。
03:05
跟购物车相关的购物车示数,还有被加入购物车件数。被收藏次数啊,评论的评论里面好评数,中评数,差评数,默认评价数。发现全部都是度量值啊。哎,全部都是度量值。行哎,希望能大家能理解透彻对吧,理解透彻那你要写这块代码的特点,怎么写老套路啊,什么老套路,咔咔往这一放,目标表有了,那接下来要找它的原始表,那原始表有哪些呢?订单。支付退款加购啊,这个呢是收藏。好评啊,这个是评价对吧,评价这些东西往这一放之后呢,就开始写这边,那写这边的特点。怎么写?如果你觉得表述比较多的话,用什么呢?With temp,也就说这块呢,如果你招人起来比较慢的话,那就time问time,比如说订单啊,然后S后面只查询每张表里面只负责他那几个字段就行了。
04:21
你一看这么很多,但是呢,你只看这三个字段的时候,哇,这简直就是一张表。对吧,哎,简直这张小表往这一放,然后再跟下一个拼接,再跟下一个拼接,直接把所有的都拼在一起,然后最后这面上面拼完之后,N s ert in色的OV1227。对吧,向哪张表里插数据呢?向这张表里面插入数据,插入的时候看一下有没有分区,有分区part bt10a10,然后。
05:02
下边这块怎么写slide from啊,From,那剩下的事这里面就简单多了,全部都是select from你上面的time各种表。对吧,然后呢,特点呢,就是。SD。啊,有的我就填上,比如说你这里面这这张表里面这些都有,哎,这些都有,再往下我先写一些私例代码啊,写例代码把它拿过来。订单都拿过来,那其他字段怎么办?其他字段全部补零。记住啊,如果是这样的方式的写的话,第一张表你是第一个type表,这块必须要有别名,如果你不是添加数据的话,必须要有别名,你这里面必须要给这个值。你不给人值的话,他会报找不到这个字段。啊,这是这种结构的一个特点啊,这一块这个别名必须要有啊,你不能光一顿写啊,不能一顿写零啊,这块必须要这样去补。
06:08
那补的话,中间这块用什么呢?UN。诶UN,然后再拼接上下一张表在from啊tap什么什么什么对吧,就不写了这个。啊Sq吧SQ,然后加上对吧,按照这个商品ID进行对应的一个分组,你的整体结构呢,就是这样的,前面呢是一堆位呃一堆这个位置,Ta中间这块插入,然后这块呢,这块呢,全部都是要用萨啊萨加用这个SQ。比如说Sq.SQ什么ID啊,这个ID不用不用上,就下面这个,下面这些度量值都需要进行一个上,对吧,就是SQ。
07:07
第二。SQID,这就是整体的一个组织架构。也就说你在你的脑海当中,如果有这些东西的话,那你写起来这个时候就没有任何问题。啊,这个呢,也作为大家一个作业啊,自己呢私下里去写一下啊,有问题的话,明天呢老师呢,会有这个给大家去答疑啊,而且我希望呢,呃,在不给大家就是讲完这个思路之后,你能把这些东西完成,因为咱们上午呢,已经一步一步的去自己写了一个。对吧,你再写一遍,其实还是体力活啊,没有什么意义啊,就是找一个表负责几个字段,一个表负责几个字段嘛,是吧。行,那这块呢,我们来复制粘贴啊,跑起来一下啊。这块听懂了吗?听懂的话帮我扣个一,没听懂扣个二。
08:01
比如说采用这个which time这种方式啊,大家有没有这个真正的搞懂啊,搞懂的话扣个一。只是表多哈,其他的真没有啥,你看这下面不都是一样吗?一样的哈。这个优惠券的减啊,比优惠券的中啊,对,这所以说就是优惠券那个是最难的哈,优惠券当时那个是确实最难的,因为那里面涉及到的是原始表,是一个分区表,现在我们这个累积的过程呢,它都不是分区表啊,就是你直接可以查到全表了。啊,相对来说会容易一些啊,确实啊,看来优惠券给这个阳难了。其实痛苦呢,只那么一丢丢啊,熬过去之后呢,就就会很顺畅。没有你们想的那么难,再坚持一下,你在我就说了,本周你能坚持完,那你就胜利在望了哈。本周今天完事啊,明天还有一天啊,再下周下周的话,下周一扛过去就没事了,后面的事呢,假如说你不太会,其实也能接受,找个工作不成问题。
09:14
尤其是今天我说的这个,呃,每一层你是怎么设计的,尤其是DW,呃,DWD那个维度建模到了DWSDWT,那就涉及到这个宽表,我怎么去定义它的字段,我取哪些字段。对吧,哎,这些呢,这个思想你要会,它其实起的是事实表的这个度量值。啊,多张纸站在维度的角度去去看看问题,这个呢,是你未来成为架构师的一个重要的法宝哈,目前市面上就是把这个理论真正落地的没有啊,也就咱们这个上大是吧,啊把它成功的落地了啊,而且咱这套呢,其实也不是原创啊,不是原创啊说实话呢,是按照这个美团,嗯,美团他们内部的这个架构啊,去把它去实现的啊,因为他们是这么实现的,之前跟那个老学员呃,充分的交流了将近一天多的时间啊,一直在研究这个每一层做什么事,从ODS1直到这个最后的这个ADS啊,每一层花了也是大量的那个心血哈。
10:19
行,查看一下结果啊,像那这里面这个结果呢,也就都OK了啊OK了,嗯,这呢就是每日商品的行为啊,大家呢,实现的时候要练一下,就是这个位置time这个思想去解决问题。
我来说两句