00:00
啊,好了各位,那现在呢,我们继续往下看,呃,下边呢,我们要看的表是哪张呢?是第相当于是第五章了,OK,对吧,咱们已经看完四张了啊,那第五章呢,我们来看一下这张表里存的是什么内容,是交易与用户力度,然后呢,订单最近一日汇复表,这张表目前对我们来说呢,是陌生的,因为咱们就是前面做需求分析的时候,就咱周三的时候,我们并没有自己去设计出来这样一张表,对吧?那也就是这张表呢,肯定是服务于我们举的那两个例子之外的那些需求的,对吧?那至于到底服于哪个,咱们现在不用考虑,什么时候再去考虑这个事儿呢?诶,咱们真正的做ADS的需求的时候,大家再去考虑,对吧?比如说我拿到这个需求了,你再自己琢磨琢磨,OK,我到底需要用到它前面的那张表对吧?这个到时候大家自己去分析啊,行了,那这个咱们就不再多说了啊,现在我们来明确一下,就是这张表的具体的表结构,还有数据装载是怎么做的啊,咱们先琢磨琢磨,你说这张表里存的是什么数据吧,啊,其实之前已经说过了啊,呃,咱们刚才举例子的时候就用用它举的对吧,这张表里。
01:00
那应该是什么,最近一天的每个用户,他一个他的下单的总次数,总量总金额等等,是不是这些东西啊,对吧,这个就不再多说了啊,那现在我们把他的表结构跟他的这个状态语句咱们一起看一眼,比这给我拿过来别粘多了啊。来重新粘一下,呃,婴儿婴儿从这开始CTRLC拿过来,然后呢,我们放在这个位置,好吧,那现在我们一起看一下它的这个键面语句,呃,先看一下它的表名,呃,叫做DWS层,然后呢的数据域,然后呢是用户力度对吧?然后呢,OO点式的那个业务过程,然后ED呢是统计周期啊行,那完事之后我们继续往下走,现在呢,我们明确一下它的行还有列啊,分区我就不说了,还是异地表的那种分区规划啊,行,你说每行应该是一个什么?看力度呗,每行应该是一个用户吧,对吧?各位同学这个大家理解一下啊,行了,那接下来继续往下看,但列都有啥呢?列它这边其实相对比较简单,首先一个就是UID完了之后有其他的维度属性没有,因为在这呢,我们是没有去做那个维度退化的,对吧?啊没做,那将来呢,你需要去用到用户维度信息再去照,那就完事了啊,尽量往下走,下边实际上呢,就是我们刚刚提到的一些聚合值对吧?这里边呢,以什么下单的次数,下单的件数,金额等等等,还是这些东西,只不过呢,就是这些字段在这张表的含义跟之前是不一样的了啊,诶在这儿它的含义应该是啥呀?是一个人对吧?在一天里边它的下单的次数和总件数等等等等,这个不再多说啊,好,行列都完事了,接下来我们看一下它的数据装载,它的数据装载呢应该会比较简单,为什么比较简单啊,因为它没有去做那个维度的退化对吧?没做维度退化我就不用再去照维度表了,所以只需要做一个分组聚合就行了,对吧?来吧,咱们看一下它的分组聚合是怎么做的。
02:46
呃,还是这样,咱们不去看这个circle了,咱们自己想一想,你说这应该怎么做,这是一个一列列表,我们也需要区分首日和每日对吧?来分析分析,大家说首日咱这个应该怎么做呀?首先我们需要干啥?先找到与之对应的那个明细表对吧?与之对应的明细表是谁?是订单明细对不对?那找到那个明细表之后,我们首先需要先拿到他全表的数据吧,第一天都拿全表之后呢,按照谁分组。
03:13
按照user ID进行分组对吧?但是只按他分组行不不行,因为第一天的时候我们需要处理历史数据,所以说应该按照用户加上DT日期进行分组,对吧?啊,一个是呃,U的ID,一个是DT,好,那分完组之后我们就能得到什么样的结果了,能够得到在每一天每一个用户他的下单次数,下单件数,下单金额,对吧?那得到之后我们需要把这个数据使用动态分区,是不是写完咱们这张表的多个分区啊,对吧,这是首日,那每日我们应该怎么做呢?每日是不是也是找到与之对应的明细表,然后只拿比如说15号这一天的数据就行了,对吧?之后呢,进行聚合,这回按照谁分组,只按照U的ID进行分组就行了,咋了笑啥呀咋了这这玩意说啥了吗?呃,我们继续往下走啊,那刚才这呢,咱有一个这个这个每日我们怎么做,只需按照U的ID进行分组就行了,分完了之后呢,我们就得到每个就是我们就能在这一天里边这个每个用户他的下单次数和金额了,最终把结果呢,再写到咱们这个十五二分局就搞定了,诶这就是咱们这张表的首日和每日的一个计算逻辑,这个相对来说比较简单,我们就不再多说了啊啊,然后这里边呢,其实有一个小点大家需要注意一下啊,哪个小点呢,就是关于这个下单的次数,注意啊,就在这张表当中,咱们这个下单的次数指的是谁的下单次数。
04:33
是用户是人的下单次数了吧,对吧?OK,那既然是人的下单次数,那这里边儿咱们就得考虑一个问题,人的下单次数怎么算来着。是不是得按照older ID去进行计算呀,对不对,因为我们人下单一次对应的是一个older info对不对?OK啊,那即便这个older info里边会包含多个订单明细,我们也只能算是不是人下来一次的呀,对吧?这一定要注意,所以说大家来看,我们再去计算这个用户的下单次数的时候,我们是count distinct的older ID,这个一定要理解一下,为什么要count ID啊,因为很简单,你要知道咱这张表是什么表,是older detail这样的一个力度的表,对吧?它一行是一个是一个older detail,那是不是一个订单里边会包含多个older detail啊,对吧?所以说你再去下载统计这个older ID的时候呢,需要去去重,这个一定要理解一下啊,行了,那这个咱们就不再多说了啊,行了,那这个首饰和每日状态就都完事了,那紧接着呢,我们就去看一下,就是有没有与它相对应的ND的表,那有没有是不是还得去看与之对应的派生指标啊,对吧,咱们去找一下啊,看看有没有与之对应的派升指标,呃,首先力度是什么,力度是。
05:42
下单力度,然后呢,但是力度是这个用户的力度对吧?马业务过程呢,是下单的一个过程,是不是对应的,应该是这几个呀,对不对,那这里边也是有1D的,有ND的,那所以在这儿呢,理论上也会有与之相对应的N天的表,那咱接下来呢,就去看一看与之对应的那个N天的表是什么样的,我这儿呢就不再单独录了啊,咱们直接去看一下就行了,来咱们往下翻找一下。
06:05
在哪,是不是在这呢?对吧,那这个表咱就找到了,找到之后我们把它拿出来一起过一下就行了啊这个其实也不难啊,来吧,CTRLC我们给他拿过来好了,那现在我们先来熟悉一下它的表结构,呃,表结构呢,无非就是行列对吧?那我们现在先看行这张表,大家说每行应该指的是一个什么?也是一个用户吧,对不对?OK,那那我们会有哪些统计值呢?那无非就是这一个人在最近七天里边的一些下单相应统计,还有30的一些下关相关的统计呗,对吧,这是每行啊,那接下来就看具体的字段了,字段首先一个就是UID,那在这我们仍然是没有去做这个维度退化啊,维度相关的信息只有一个ID,好,那下边就是统计值了,这是N,这是七天的统计值,这是30天的统计值,好了,这就是它的字段,那分区呢,是不是还是那种ND表的分区规划,哎,我就不再重复了啊,行了,行列分区都完事了,那接下来我们看它的数据状态,说下来怎么做,还是想一想就行了,哎,咱们想想就可以怎么做呀,是不是还是找到与之相对的N天的表啊,一天的表对吧,一天的表,然后呢,我们先拿30个分区出来对吧,直接求和,那就是最近30个统计值,那有条件求和,那就是诶这个呃,七天统计值呗,对吧,就是这样的一个词和语句,哎,都是这样的一个套路,我们就不再一个一个去说了啊好,那这个完成之后视频,呃,这个我给他注意一下就行了啊好了,那截止到现在呢,我们这张。
07:25
表也就算是完事儿了,完了之后呢,这里边就是有些同学他这儿可能会有疑问,有什么疑问呢?关于谁啊,还是关于那个下单次数的一个疑问,来大家看一看啊,我们我们这儿啊,在做一地表的这个数据装载的时候,咱们这个下单的这个次数是怎么统计的。是can't distinct去统计的,对吧?是去重统计的,好,那完了之后我们再来看一下。我们去算这个ND表的这个下单次数的时候,咱们是怎么算的,是不是直接把ED表当中的那个下单次数求和的呀?对吧?诶之前我们再去统计那个下单人数的时候,是不是当时咱们就是有一个这样的场景,就是在ED表当中,我算人数的时候,我是不是count的统计对不对?然后N地表的话,哎,我要直接对那个人数求和,是不是就会出现重复计算的问题啊,对吧?那之前咱们是有这样的个问题呢?哎,但是在这儿咱们需不需要考虑这个问题呢?咱们这是不是跟刚才那个场景是一样的,对吧,也是ED我需要count的,然后ND我这直接求和了,我这个不会重复计算。
08:28
这个会不会?分析分析啊,会不会你这个是怎么的,算一地表的时候,你算的是每个人在这一天里边的下单次数,对吧?完之后你算N地表呢,呃,你是把这个每一天的这个人的下单次数是不是求和得到了N天的这个下单次数啊,对吧?诶这块会不会有这个重复计算呢?这一块不会有重复计算,为什么这就没有这个重复计算了呢?这个道理很简单,就是有没有重复计算,这个取决于什么啊啊取决于就是我这个同一个订单ID会不会重复出现在多天。
09:04
会吗?不会呀,对吧?我订单ID是不是唯一的呀,对吧?OK,那有我订单ID,我只可能在一天里边出现对吧?那所以是什么意思呢?比如举个例子啊,那我们跟前面那个人数去做对比,人数之所以会重复是因为什么呢?是因为我在一地表当中,对吧?哎,我同一个人是不是可能会出现在多个分区对吧?OK,这个人我既出现在这个分区了,也出现这个分区,也出现这个分区,那完了之后呢,诶,我对他进行求和的时候,我是不是可能会对他进行同步计算,而我这个订单ID呢,我只可能在一地表里,我是不是出现在一个分区里边对吧?我别的不可能出现,所以这边呢,我们直接休课,没有任何问题啊,其实这个就是咱们不去考虑这个问题,你就单纯的从我们这个,呃,正常人的思维去考虑,你把这一个人每一天的下单次数,估计是下单次数你加在一起,不就是说这多天的一个下单的总次数吧,对吧,这个其实正常思维去理解也是没有任何问题的,那所以在这儿呢,诶这个不用考虑那个去重的问题啊好了同学,那这个相关的这两张表咱们就全部都完事了。
10:04
好啊,来,我把这个视频给他停一下啊。
我来说两句