00:16
呃,来各位同学,呃,接下来呢,我们来说一下,就是上午我们设计出来的那个2.0版本,那它还可以怎样去进行这个相应的优化啊来大家现在呢,先呃这个呃回顾一下,就是我们最终设计出来的这个2.0版本的表啊,实际上在这儿呢,我们呃大致呢,会设计出来这样的两种力度的表,对吧?一种呢,我们称之为是用户品牌力度的,还有一种呢,是用户品类力度对吧?是两种力度表,当然呢,这个并不是我们最终的那个计算结果所需要的力度,咱们最终那个计算结果所需力度是什么力度,一个是品牌力度,一个是品类力度吧,没问题吧,咱们看文档。咱对应的ad可能需也这俩,一个是品牌力度,一个是呃品类力度没问题吧,好那完之后,所以说将来咱们再去做这个统计需求的时候,他肯定是怎样的一个过程呢。
01:07
肯定是,呃,咱们去做调度是不是得一层一层的去跑咱们的数仓啊,对吧,得先有DWD之后DWS,最后是不是再来ADS对吧?那也就是说最终咱们这个指标它的结果是怎么来的呢?那在这儿呢,我们举一个具体的例子啊,咱比如说就以谁为例呢?我们就还是以这个,呃,这个订单相关的统计为例吧,啊这儿呢,有一个品牌力度的订单相应的统计,这儿呢,有一个品类力度的,哎,这个订单相关统计,我们就还以他俩为例啊,我们看一下这俩指标它最终的结果是怎样一步一步出来的啊来咱们大概的比划比划啊,OK,首先那我们先呃在这儿呢,比如说画俩方块,这两个方块呢,就代表着咱们最终需要得到的这个结果啊,这两个结果呢,一个是品牌力度,在这呢,我就写一个T表示的是品牌TM啊,那一个呢是品类力度,我写一个C代表的是category OK啊好,那完事之后呢,假定啊,各位同学,假定咱们这个品牌一共有十个品牌,就是我们整个平台一共有十个品牌,OK,那你说我们这个结果这应该有多少行。
02:07
啊,差不多应该是有十行对吧?没问题吧,因为你一共十个品牌,那就是一个品牌占一行嘛,对吧,这个没得说,那品类呢,咱们假定也是只有十个品类,比如说他这儿呢,我也是占十行啊这个应该没啥问题,对吧?然后呢,我们再继续往前推,OK,那我这个品牌力度的,我这个是怎么去得到的呢?那我这个品类力度又是怎么得到的,咱们大家都知道它是从哪来的,是不是应该是从咱们那个,呃,一个是从用户品牌力度是不是聚合而来的对吧?用户品牌,我这个用户用U表示表示U字啊,然后来一个杠T,那这个呢,就是用户品牌力度,这个也没啥问题,对吧?好,那接着往下走,那这个应该从哪来呢?应该是从用户是品类力度来啊,诶,他们应该是这样一步一步的算出来的,好,那接下来呢,我们再往前推,那你说你这个用户品牌力度,还有用户品类力度,那他们的数据是从哪来呢?其实从那个最根儿上是从哪来的。
03:02
最高是不是应该是来自于那个明细表啊,对不对,明细表应该是DWD团队,咱们这说的是订单相关统计,是不是应该来自于订单实时表,对吧?我们来自于DWD的,比如说是older detail,那我就写一个OD啊,是这样的啊,然后呢,我们大概猜测一下,就是我们这些表当中的行数啊,假定OD这张表就是明细表里边,假如说啊,咱们这儿那有1000行数据。1000行数据啊,OK,当然肯定正常比这个多多了啊,咱们先假定一下,假定有1000行,那你想一下,你说我们这个UT表和UC表,那他们俩当中应该都有多少行数据呢?那多少咱们不太确定,但是我们应该大致能确定下来,它肯定是介于十到1000的,这应该是能想明白对吧?那为什么这个根据力度就能看出来呀,力度这是明细力度对吧?OK,那这个呢?诶是汇总力度,是一个品牌力度的,而我这个用户品牌力度是不是正好是介于这个明细到这个品牌力度之间那样,对吧?啊,这个应该是能想来的,那我力度越高,我的数据就我,我力度越粗,我的行数就越怎么样,越少,就是力度越细,我的行数越多,那所以它俩肯定是介于十到1000之间的,比如说举个例子啊,假定它有100行啊,这个呢,假定咱也有100行啊,OK,好,那完了之后呢,这个数据它是不是应该就是这样一步一步的聚合过来的呀,对吧?OK,好,那我们来分析分析啊,就是我们再去算最终的这两个指标的时候,它一共就是。
04:25
呃,就是聚合了多少数据啊啊,咱们就用这个差值去减,就用这个行数减一下,用这个差值去表示一下这个聚合的工作量啊OK,你这儿是不是得先从一个1000聚到这个100对吧?这里边是不是你聚掉了900对不对,你聚合函数越多,那相当于我这个是工作量越大呀,对吧?诶可以理解一下啊,然后这儿1000~100~100,我这儿也是900,这个没啥问题对吧?那这儿呢是90,相当于是那这儿呢也是90,那加起来差不多应该得有2000的样子,对吧?没问题吧?啊一千八加上这个一百八差不多将近2000啊好,那完之后咱继续往下就行,那那你说我这里边我能不能再给他优化一下,就是我怎样去改造一下啊,我能够再减少一点这个计算量呢,大家说还有没有这个优化的空间?
05:11
哎,有同学提到了,可以把谁和一起。把这个用户品牌跟用户品类合在一起是吧,那合在一起是什么力度呢。很也是什么力度,是用户品类品牌力度是吗?这个听起来好像有点别扭,对不对,这个可能这每行数据表达的是什么,我们可能用语言都不好描述了,对不对啊,是这样的啊,所以在这呢,我们也别给他整什么用户品牌品牌品类力度了,咱直接给他降,为什么力度直接降为用户商品力度,诶大家来看一下,假定我们降成用户商品力度之后,它会发生什么样的变化啊,比如说举个例子,在这儿呢,有一个用户商品力度,我用U表示用户,用SSK吧,用S表示商品,对不对?那OK,大家想,假定我现在建一张这样的表,你琢磨琢磨,你说这张表,那它的行数应该是在多少到多少之间呢?
06:02
100~1000吧,应该是,呃,差不多应该是这个范围,为啥?因为很清楚啊,因为用户商品力度,它的力度肯定要比明细力度是不是要粗一些,对吧,然后它的力度会比用户品牌或用户品类高吗?不会的,对不?他肯定是要比这个用户品牌或用户品类更诶细的这个力度,这个大家应该能想明白的,所以他肯定是介于100~1000的,咱假定它就是500啊,假定是500 OK,那你看一看就是我们这个数据,如果你要是这么算的话,它能不能少一点这个计算量啊,呃,你要是这么算的话,我们是不是先从一个OD到这个U,也就是用户商品力度啊,对吧,这里边500这1000这是有多少?是不是差不多500啊对吧,然后之后呢,咱们还,嗯,还去建这个用户品牌用品类嘛,咱就不要他了,咱直接从他是不是也能得到最终的品牌力度,或者是品牌品类力度啊对不对,OK,那咱们看一下这个得的话,它应该会有多少计算量啊,从这儿到这儿,那他需要去聚合多少啊,是不是要从500聚合到最终的十差不多是呃400多对不对,你比如说就咱们就按500算吧,啊就按500算,诶OK,那这个写回来,那完之后继续往下进行,那你从这儿到这个地方呢,要求有多少。
07:13
那是不是也差不多就是500啊,对吧,就按500算,那所以说你这样一来的话,这个计算量是不是这儿500,这儿500,这儿五百一共是1500,对吧,是不是要比刚才那两千要少很多呀,对不对,OK啊,也就是说咱要是这么设计的话呢,那我的这个呃,这个计算量是能够明显的下降的啊,那所以说在这儿呢,实际上咱们还有一定的优化空间,就是咱攒样的,我不再去创建这个用户品牌力度和用户品类力度换顶面的汇总面了,而直接建一个什么呢?只建一个用户什么力度的用户商品力度,而且你发现啊,那我是不是只需要建一个用户商品力度,就既能就是提供谁呀,就既能去供给我们这个最终的品类力度的需求去使用,也能供给这个品牌力度的需求去使用,对吧,也就是说咱们这张表它在减少计算量的同时,也提高了什么呢?也提高了我们这个结果的一个公用性吧,对吧,对吧,就是你这个力度它越小,将来我这个表能服务的指标是不是可能就会越多呀,对吧。
08:14
啊,是这样的,那所以在这儿呢,我们呃,就还可以再把这个这个计算呢,再给它优化一下,就是最终我们只建一个用户商品力度的汇总表,诶这个大家需要去理解一下啊,所以在这儿呢,我们最终的方案其实建的是这个用户商品力度,OK,那咱接下来呢,就来看一看这个用户商品力度的汇总表到底哎怎样去弄啊来吧,那咱现在先把这个建表语句先给它写出来啊,其实要写的话也比较简单,来吧,那现在我们从哪开始改,我们从呃这个ED列表开始改吧,咱们先找一个ED列表啊,随便找一个,我们以谁为例呢?咱们以这个是2.0的对吧,就以这张表为例,咱们基于它改一改就行啊来能自己拿过来之后呢,我们来一个3.0啊3.0,然后呢,CTRLV拿过来,呃,然后各位同学我们一起来看一下啊,首先我们需要先把这个表名给它改一下,呃,原来是用户品牌对吧,现在呢,我们给它改成用户商品user SKU啊,然后呢,CTRLC咱给拿过来,CTRLV把这个也是拿过来,呃,行了,那表明呢,咱们基本上就。
09:14
就都改完了,这儿呢,其实也可以改一下,改成用户商品是不是啊,对吧?然后呢,咱们是不是需要把这张表当中的维度给它变一变啊,对吧?OK,那在这儿呢,我们需要首先加上一个字段,那就应该是什么,应该是用户加上一个SKU吧,对吧?SKID,那这边后边那个注释我就不再改了,咱知道怎么回事就行了,用户商品到完之后,我这儿需不需要再给他放上一些比如说品牌的信息,或者是品类的信息呢?能不能放下呀?诶,可以啊,对不对,这个完全没有问题,对不对,那这个其实相当于就是做了一些什么操作呢?是不是做了一些绘画的操作呀,对吧,是这样的啊好,那现在呢,我们就把那些分类呃信息也给它拿过来,然后品牌信息呢,就保留在里边就行了,来给它放过来CTRLV好了,那截止到现在呢,那我们这个所谓的一个用户商品力度的最近一日的汇总表就算是,诶设计完毕了啊OK啊,这个其实并不难,对吧?来CTRLL,那完了之后我们再思考一个问题,那什么问题呢?就是说这个东西咱们将来写数据装载语句应该怎么写呀,这个跟之前相比应该没有太大的区别吧,只不过就是原来的我们怎么做来着,呃,我们是找到实时表,找到维度表,按照用户或者是呃这个品牌或者是用户家这个品类进行分组对不对,那现在呢,我们只需要按照用户加商品进行分组了就行了,那当然呢,我们下边的这些度量值,它的这个意义也发生了变化了,对吧?那原来是什么,现在跟之前是不一样的了,对吧?现在是什么含义,应该是一个人买。
10:42
一个商品的次数件数和金额了,对吧?这一点咱要给它搞清楚啊,行了,那这个ED的表咱就算是设计完毕了,OK,那它完了之后呢,我们再来看一下ND的咱们怎么改啊来,我们还是找到那个用户品牌力度的ND表,也就是它,诶给它CTRLC拿过来,呃,之后呢,我们给它呃简单的调整一下啊CTRLV首先那咱们先把它的表名明确,它现在表应该是这个啊,我们把ED改成ND,这个是不是就OK了,用户商品力度了啊来CTRLC拿过来CTRLV,那这个呢,咱也拿过来CTRLV,好,那这样呢,也给它改一下这个用户品牌,也给他改成诶用户商品,那这个调整的方式呢,其实跟前面应该是一样的,主要就是改这个维度其实就行了,对吧,OK,那上上呃,然后呢,咱把上边这个维度给它拿过来,这是SKU,然后加上下边的这几个,诶维度属性,然后CTRLC拿过来,把原来的这个直接替换,那就完事了,来大家来看一下,那咱这个用户商品力度的订单的ND表是不是也就算是设计完毕了呀,对不对,那他的数据状态。
11:42
也就是跟之前相比也没有什么太大的区别,诶那这样一来,咱们这个3.0的版本就算是设计完了,OK啊好了,那完了之后呢,我们再回过头来考虑一下啊,就是将来我们去做我们ADS的些需求的时候,我们应该怎么去取数啊,你会发现啊,OK,我做比如说这两个指标的时候,最近一期三日各品牌,然后呢,订单数,订单人数,对吧?你算这俩指标的时候,你是不是可以用我们刚刚设计出来的这张这两张表去做,对不对,那同时你再去做下边这个各品类的,诶这个什么下单数,下单的时候是不是也可以从这两表里边去取数去做呀,对吧?啊是这样,也就是咱们现在这张表设计出来的,它更加的公用啊,钢压公用,OK,好,那这其实才是咱这个最终的啊,最终我们后边那个DW层设计出来的表呢,诶也是这样的一个力度啊OK,那当然呢,呃,就是按照我们刚刚就是最开始明确的那几个需求,我们这实际上最终最终啊,对吧,要是想把咱们这两个啊这两个需求。
12:42
都给满足了,咱最终最终应该设计几张表啊比较合适啊,琢磨琢磨,咱现在是设计了两张了,对吧。对不对,但是我们那两张表是不是只能支持这里边的这两个需求啊,对吧,那那另外两个怎么办?另外两个咱们应该建一个什么样的表,大家现在应该应该能知道了吧。
13:01
应该建一个什么,是不是也应该建一个用户商品力度的,对不对,也是用商品,只不过呢,它的业务过程这回应该是退单,这个业务过程完了之后呢,那个统计周期呢,也是分两个,一个是1D,一个是ND,对不对,也就是这两个指标呢,我们最终实际上需要给咱们设计四张汇总表啊,这个大家稍微再理解一下行了啊,另外两张呢,我们就不再写了,其实写的话也比较简单,照着那个呃,前两张写就就可以了啊,是这样的啊,行了,那这个3.0版本,那最终咱就确定下来了啊,完事之后我把这个视频停一下啊。呃,来各位同学,那由于我们刚刚又把这个表的设计呢,又升级了一个版本,所以咱接下来呢,要把前面的笔记给他调整一下了啊呃,咱还是先从这个脑图开始调整啊,呃,首先各位同学,按照我们目前的规划,那我们再去计算这个指标的时候,我们是让它怎么算来着,也是让他从一个中间力度的汇总表去算,对不对?那这个中间力度咱现在是什么力度,还是原来的用户品牌吗?不是了,而变成了是不是用户商品力度啊,对吧?这个大家要稍微的注意一下,OK,好,那我别的用不用动。
14:08
别人用不用动,其实别的不用动对不对,哎,别的其实无所谓啊,所以在这儿呢,只改一下这个力度就行了,OK,好,我们继续往下进行,那下边咱们在算这个人数的时候,咱们目前的计算思路应该是什么呀?也应该是让他从一个中间力度的汇总表得到,对吧?只不过这个力度呢,它也不再是用户品牌力度,而是用户商品力度,对不对,其他的是不是没有什么变化呀,对吧?这个大家也理解一下啊,好了,再继续往下走,下边这个品牌这个品类的这个退单的呢,这个退单虽然我们没见,但是咱们大家应该大概也能猜出来,我这边其实也是改一下这个力度数就完事了,对吧,也是用户商品力度,那这个呢,咱也是用户商品,那往下调,那这个呢,其实也是用户商品,别的其实都没变啊好,那现在我快速的给它调整一下就行了,CTRL用户商品,那这个呢,用户商品那这个呢也是,呃,这个用户商品诶CTR位咱给他拿过来就行了,好了同学,那截止到现在呢,我们就已经把这里边该改的内容就全部都改完了啊好了,那这样改完之后,那我们这里边的派生指标跟这块是不是又不对。
15:08
正了对吧,所以在这呢,还得把它给它修正一下啊来我们快速的调整一下,其实咱们要改的话是只改成就行了,只改这个力度是不是也就可以了,对吧?我们直接改成用户商品,呃,商品OK,好,那改完之后这边我们往下拉一下就行了,直接拉下来,拉下来之后呢,这边咱们只不带格式OK好了,那现在我们就已经把这块也改成功了,那现在我们从前到后是不是就已经对应上来,对吧?这怎么还多了个S呢,再重新拉一下啊来往下到呃,这个还是不带这个格式好了,那现在我们就全部改从前到后都是一致的了,那当然随着咱们把这改完之后啊,那大家应该能够发现一个问题,什么问题呢?你看啊,就是原来你看这个不同的颜色对不对,对应的是不同的排生指标,对吧,那你看现在。他们两个跟这两个攀升指标,那他们俩有什么关系,是不是就满足咱之前那个条件量,对吧?下业务过程是一样的,然后呢,统计周期它也是一样的,统计力度呢,它是不是也是一样的呀,对吧?诶那这样一来的话,我们就可以怎么做了,是不是就可以把它俩放在同一个汇总表里边来,对吧,咱们其实确实也是把他们放在了同一个汇总表,对吧?是什么力度,就是一个用户商品,诶那个下单的那个表,对吧?诶其实就是这么一回事儿,这块儿大家稍微的了解一下啊,行了,那这个完成之后,我们把这个颜色也给它调一下了,对吧,咱把它也给它改成绿色,到时候大家看这个笔记的时候呢,诶方便一些啊,这个改成绿色,那同时你注意观察这两个跟这两个它是不是也是一样的了,对不对,OK,那所以在这呢,咱把它俩的颜色也给它,诶调一下,给它调成那个蓝色好了,那这样一来,那咱这该改的就改完了,所以最终呢,我们那两个需求需要的汇总表就是一共这样的四个嘛,对吧,一个颜色是不是咱们有ED加ND一个颜色两个对吧,所以一共四。
16:55
张表,咱们最后其实是这样的一个设计方案啊,行了,那这个完成之后,我把这个视频给他停一下啊。
我来说两句