00:00
呃,来吧,各位同学,那我们现在继续往下走,那下面呢,我们找到这个最近N日的这个互动表,这一节咱们找一找有没有跟刚才那张表相对的啊,有没有,有吧,这是不是就在这儿了,诶也是用户商品力度,那完之后往下走,那里边是什么呢?是这个订单的,哎,这样的一个一个过程,是最近N天的工程表,就是它好,那现在呢,咱们把这张表也给它拿出来,简单的过一下就行,实际上这张表我们前天是不是也已经设计过了,对吧?这块咱们就拿出来简单的过一下就行了,比较简单,这都是大家比较熟悉的啊,再往下走好了,那现在呢,这张表的,呃,这个表结构就摆在这了,那接下来呢,我们来明确一下,就是这张表当中,它具体存储的是什么内容,先看一下表明,这个我就不再多说了啊,大家现在自己应该得会看这个表名了,那接下来我们来明确,就是这张表它行列还有分区是什么样的,每行在这儿指代的应该是什么呢?这个应该指的就是在最近N天里边,对吧,每个人购买每个SKU的是不是次数件数和金额呀,对吧?这个最近N天里边呢,这个最近N天包括俩,一个是最近七天,一个是最近30,哎,这个大家要回忆起来,这是行啊,那接下来呢,就是列列呢,其实跟刚才那个差不太多,上面的是用户商品的一些维度信息,下边的是七天的统计值和30的统计值,这个我就不再多说了,行列都完事了,最后来回忆一下它的分区是怎么规划的,尤其是这种N地表和T地表的分区规划啊,一定要搞清楚,因为有同学很容易很很容易选错啊,这种这种表的分区规划是什么样来着,咱们也是按天分区吧,对吧,一天一个分区啊,每天的分区里放的是什么?对于这面而言,是最截止到今天的最近N天,对吧?啊是这样的,你比如说呃,我今天14,那我里边存放的就是截至14号的最近N天,包括最近期和最近30的一个汇总结果,这个一定要注意啊,行了,这个分期规划咱们也就搞定了,那接下来呢,我们来分析分析它的数据装载。
01:53
咱们之前是怎么做的?呃,当时咱们也是写过一个数据状态语,就对吧,OK,那当时咱们有没有考虑那个历史数据,对于这张表,咱们当时其实也没考虑,对我们当时是不是只算了一个截至14的最简N天对吧?截至13的最近N天,截至12的最近N天,咱们当时是没算的,对吧?那这个我还要不要去算呢?
02:12
这个其实说实话,你可以算,你也可以选择不算啊,为什么呢?呃,因为你想啊,就是这种最近N天的指标,它都是有一定的时效性的啊,对吧,那什么意思呢?你最近N天,最近N天你一定是截止到哪一天的,最近N天呢。你要说比如说我想让你算一下最近N天的什么下单的这个人数等等等,那你一定是截止到哪一天的呢?一定是截止到我们最新一天的最近N天,对吧?是这样的啊,那所以说对于最近N天的这种指标而言,我们很少会让你去算对吧,算一下截止历史上某一天的最近N天对不对,截止比如说2020年1月1号的最近30天的,很少会有类似这样的需求啊,那所以说这张表的历史数据呢,我们其实是可以不去做这个处理的啊,是这样的啊,那所以在这儿呢,我们既然不处理,那我是不是就是只需要处理我们截至每一天的最简,呃,天那就完事儿了对不对?你截你14号的时候,你就处理一个截至14的最佳天,你15的时候,你就处理一个截至15的最佳天,那就完事了,所以这块呢,你第一天跟后续每天逻辑是不是就完事就是一样的了呀,对吧?哎,那所以在这儿呢,我们就写一个三克就完事了,OK,那之前咱们怎么写的,这就还怎么写就行了,还记得之前怎么写的吧,这种N天的表,它的数据状态是不是也是固定的套路,对不对,首先咱们得先明确我们从哪取分,那理论上。
03:30
看到就是两个两个方向呗,对吧,要么就是从与之对应的一列表里取,要么就是从是不是DW层的明细表里取啊对吧?OK,好,取的时候咱怎么取,直接取30个分区对吧?然后呢,直接求和,那我们得到的就是最近30天的汇总值,有条件的求和3IF对吧?是不是能拿到这个最近N天的纸标,最近七天的纸标对吧?OK,就是这样一个逻辑,此时我就不再重复这个circle了啊,咱直接把这个文档里边最终状态语拿出来看一眼就行,OK啊来,那CTRLC这都是我们之前分析过,都是自己写过的啊,拿过来,那现在呢,我们看一下这个最终的装载语句,那跟我们说所说的是一样的啊,那首先select的,然后呢,From这个与之对应的一列表,它这是不是恰好有一个对应的1D啊,对吧,那完之后我们拿30个分区之后呢,是不是按照我们这个固定的这个力度进行分组,对吧?因为咱们这张表目标力度是什么力度,是用户商品力度对吧?所以在那儿呢,我理论上是不是按照U的ID加SKUID进行分。
04:30
就完事了对吧?但分完组之后,我们这儿直接求和,我就能得到最近30天的汇总值日,诶有条件集合就是最近七天的汇总值,理论上这样做就行了,对吧?但是各位同学注意观察一下咱们这儿分组字段,我是不是后边有这么一大串啊对吧?OK,好,那这为什么要加这么一大串,加了这一大串之后,会不会对我们的结果的力度产生影响,这个咱得分析分析对吧?首先先分析为什么这叫加这么一大串,为什么?因为咱们这有分组,而我上边是不是需要拿这些字段呀,对吧?啊,你前面就提过,你这个分组之后,要么就是选你分组字段,要么就写聚合函数,所以这你要想选出来,这就得给它加上嘛,对吧?OK,好,那接下来我们分析第二个问题,你这加了这么一大串,会不会影响到咱们这个最终的力度,因为我们最重要的力度就是用户是SKU力度,对吧?啊,那你加了这么多分子,它会不会改变这个力度,会吗?会不会,其实并不会啊,就是虽然我们这儿加了这么一大串,对吧?但其实你这个最终的结果还是跟你按照U。
05:30
ID加SQID进行分组是一样的,为什么是一样的呢?就是你这下边呢,假如说有一大堆这个分组字段啊,OK,你这个以谁为准呢?是不是以那个力度最细的为准啊,对吧?对于这一大堆东西而言,他们其实都是谁都是商品的维度属性对吧?是这样的,那我一个SKID,我后边是不是只对应一个SQ name,一个分类信息,一个品牌信息啊,对吧?是这样的,呃,相当于你这一大串跟一个SID是一样的,那所以在这呢,你按照他们分组是不会改变力度的,哎这一点大家稍微的了解一下就行好,那最终呢,把数据哎统计完,我们把数据呢写到14号分区就完事了,这为什么要写到14号分区呢?很简单,因为咱现在算的是不是就是截至14号的最近N天对吧,截至哪天的最近N天就放到这种N地表哪天的分区就完事了啊OK,那这就是它的数据状载,跟我们之前所写的也是一样的啊行了,完成之后视频我给他停一下。
我来说两句