00:00
呃,好了各位,那接下来呢,我们再来看一下,呃,这个我们这应该是交易域当中的最后一张ND表了,对吧,大家看啊,没没错吧,再往下是不是就是别的数据来了,对吧?来我们看一下这个最后一张表它是什么表啊,它是一个用户力度的,是一个退单的最近一日汇总表,来那先明确一下,你说这张表里他存的应该是什么数据。这边里存什么数据?是不是应该是把退单那张表最近一天的数据给它聚合到了用户这个力度啊,那那我们得到的应该是啥呢?应该是在最近一天里边每个用户退单的次数,退单的件数,退单的结额,是不是要是这些信息啊,对吧?这个咱就不多说了啊行,那现在我们把它的这个建表语句拿出来,明确一下它的表结构就可以了,好,那我们现在来看一下它的具体的表结构啊呃,首先咱先看一下它的表名,这个表名呢叫做DWS,然后后边的是的交易域对吧?然后后边的是用户力度,然后再往下呢,是order refund,这个是它的那个退单的业务过程,然后呢,是最近一天的汇总表,行了,那这个完成之后往下看,我们来看一看它具体的行,还有列啊,由于这张表呢,它也是用户力度,所以说它这张表当中一行存储的也是什么呢?也是一个用户啊,实际上提到这个力度啊,这块我需要给大家纠正一下啊,实际上理论上这块大家真听啊,实际上理论上我们要是从。
01:29
咱们这种表啊,从他的这个全表的这个视角去看的话,你说我们这个力度是用户力度吗?包括前面的表也是一样的,你要是从全表的这个视角去看,那这个力度是用户力度。你要知道这种一地表咱是不是有分区啊,对吧,是不是一天一个分区没问题吧,如果也是你从全表的力度去看咱们这个,呃,数据的话,咱力度应该是什么呀,准确段应该是是什么。是用户加日期的一个力度吧,没问题吧,也就是说在这一个分区里边,那咱们这个力度是不是才叫用户力度,对,所以准确的说应该这么去说啊,但是呢,诶,我们习惯上呢,就说诶这张表的力度就是用户力度啊,是这样的,所准确的说应该是用户加日期的力度,那习惯上咱们就是用户力,这个大家理解一下就行了啊好,那接下来咱们继续往下看啊好,咱们明确了一行,咱们就还说一个用户就行了啊,那接下来继续往下走,那下面就是它的这个列了,对吧?列很简单,就是UID,再加上退单的次数和件数,还有金额,哎,就完事了,这是咱们这张表,那接下来呢,我们来分析分析它的数据状态怎么做,它的数据状态是不是仍然区分首日和每日对吧?首日怎么做,是不是还是先找到DWD层的退单的那张表啊,对吧?找到他的全表数据先拿过来,然后呢,我们按照用户加日期分个组啊,最终呢,然后呢,是不是对这些值进行一个聚合呀,对吧?聚合之后使用动态分区,这是首日,那每日呢?诶拿到明细表15号的一。
02:56
天的分居之后呢,按照用户进行分组,分完组之后呢,进行聚合之后呢,把数据写到15号分居那就搞定了,诶这是咱们的数据状态,呃,这个circle后就不再去看了,非常简单,行了,那它完成之后咱们继续往下走,找一找,就是有没有与它相对应的那个,呃,这个这个ND的表还是先去看一下指标,刚才咱们这个表是什么力度,是用户力度,然后呢是退单的业务过程,然后呢,大家看这是不是有1D有ND啊对吧?那所以说应该是有一个ND列,咱们去找一下啊,找到与之相对应的那个N地表,这个与之相对N地表在哪呢?找一下啊,是在10.2.9对吧,这个可能没挨着啊,但是这个表是存在的,来,咱给他拿出来看一下,就是简单熟悉出来的表结构就行了,来吧,那咱们现在一起给它过一下,首先我们先来看一下,就是这张表,它具体的这个,呃,这个表明是什么样的,来看一眼叫做DWS,然后呢是交易域对吧?然后后边是用户的力度,是欧德瑞放的,这是不。
03:56
那个退单呀,对吧?啊,然后N利是最近N天的回表,这个没什么可说的,那接下来呢,我们来明确一下它的这个具体的行,还有列,先看行吧,这张表每行所指代的是一个什么,还是一个用户对吧?那列呢,有七天的统计值,有30台统计值,就是这样一个逻辑,OK,好,那完之后呢,我们继续往下进行啊,那咱们现在来分析分析,就是它的数据装载,咱们将来怎么做,是不是还是找到一地表拿三人分区直接求和,我们就得到这几个值了,对不对,那有有条件就可就得到这几个值,还是这么去做啊,咱就不多说了,呃,然后呢,在这呢,咱们说一说就是关于这种ND表啊,就是将来咱们要使用的时候,我们需要注意的一个问题啊,这个问题其实咱们之前也提到过啊,然后在这儿呢,我们再强调一下啊,就是所有的ND表,它可能都会有一个这样的问题,什么问题呢?就咱们现在以它为例,大家想想,你说将来这个汇总表能帮我们算什么指标啊?
04:49
比如说举例子啊,我们是不是将来可以用它去算一个,呃,比如说最近N天的退单人数啊。没问题吧,将来是不是可能会出这样的一个111个指标,对吧,那你最近N天的退单人数,我是不是可能会有最近七天的退单人数,还有最近30天的退单人数啊,对吧?好,那假如说现在问大家一下,你说我将来要算一下最近七天的退单人数,那你说我需要注意什么问题?
05:16
你最近七天对数是不是应该从这两本里去取数对不对?OK,那你说我应该注意一个什么问题,我比如说那我将来要从他去取数了啊,那我要算最近七天的退单人数,首先你先明确一下,咱们这儿取几个分区。取七个分区啊,还是取一个分区就行了。一个就行了,对吧,咱们得明确他的分区规划对吧,没问题吧,你一个分区里是不是就有最近七天的这个退单的明细汇总结果了,对吧,咱们拿一个分区就够了啊,拿到一个分区之后呢。怎么能得到最近七天的退单人数,能不能直接看星,因为咱们这个力度本身一行就是一个用户嘛,对吧,有同学说一行就是一个用户,那我看得清不就是人数了吗?能不能直接看了不能,为啥呢?很简单,因为我们前面讲过啊,就是对于这种ND的表而言,咱们就以他为例,我一个人出现在了这张表的一个分区当中,能代表他一定在最近七天里边他退货单吗?
06:14
能吗?不一定,对不对,OK啊,OK,那为什么呢?因为我们往这张板里装载数据的时候,我们拿的是30个,哎,这个分区的明细数据,对不对,是这样的,OK,好,那也有可能会出现这样一个情况,什么情况呢?如果有一个人在最近七天里边没退过单,但是在最近30里边他是退过单的,也就是应该是在最近的八天到最近30天之间他退过单,对吧,他也会出现在这个分区里,是这样的,那那完之后你要是把这样的人算进来,你是不是这个最近七天的退单数,你算的就不准了呀,对不对?所以这种问题大家以后在用这种ND的表的时候一定要注意到,那所以准确的统计,你这应该怎么统计呢?是不是应该是count一下对吧?应该是有条件的count,对吧,怎么有条件count,也就说order refund count7力大于零,我再给它count进去,否则我就按now去count,是不是就完事了,对不对?这个大家理解一下就行了啊,好了,那这就是ND表大家在用的过程当中需要注意的一个问题,好了,那这个完成之后,视频我给他停一下啊。
我来说两句