00:00
来吧,咱们来分析分析这块怎么做,呃,大体的思路已经定了啊,就是每天我们需要把这个这张表当中原来的数据先拿出来,对不对,然后呢,跟我们今天的数据去做一个这个累加啊,然后呢,问一下啊,你说咱们今天的数据跟这个原来的数据啊,他们之间啊,有一个什么样的关系啊,什么样的关系啊,你说这个,呃,先考虑这个问题吧,就这个老数据你累加,每每条每个用户的数据都要累加吗?一定吧,对吧,因为有有有可能有些user呢,我今天并没有活跃,对吧,你就不用变了啊,就不用变了。啊,然后哪些需要变,哪些不需要变,这个得根据什么来呀,是不是得根据咱们今天哪些用户活跃了,去去去去去定啊对吧,对不对,那所以说我们这儿呢,需要把今天活跃的用户是不是得拿回来呀,得把今天的活跃用户拿回来。好,那今天的用户活跃用户咱们拿过来,拿过来之后呢,它俩对应关系是不是应该是这样的,是不是该这样的,有重合的部分,也有各自独有的部分,是不是这样,咱们来思考一下啊,这一部分相当于啊,原来用户今天没活跃对不对,那这一部分呢,像原来用户今天活跃了,我有我有活跃行为对不对,那这部分呢。
01:13
哎,像他这应该是新增用户吧,对不对,因为咱们保证老用这个,这张表呢,是全量表嘛,而且已经做了初始化了啊,已经做了数化了,所以说我这照不上的,就说明原来没你今天有你,那你就是今天的新增是不是应该是这样一个道理啊啊,那咱们这个数据要咱们这儿你这个原来的表跟咱们这个表呢?啊,这个数据对比完之后,咱们需要怎么做,是要把这个数据给。放回到原来这张表啊,对不对,咱怎么放啊,是不是还是inert or right呀,对不对,其实你像你这个所谓的累加,其实就是在对这个里边的表进行这个修改,对吧,进修改进修改,咱们就得是先查出来再放回去吧,那所以这个表的最终的更新思路应该是这样的啊,应该先把这张表的数据查出来,再把今天的活跃用户的各种行为拿过来,他俩做一个。
02:03
哪种照的呢?还是全外联对吧,因为新增的用户是不是最终也得放回去,就这部分咱得保留啊全外联,全外联之后该改的改,改完之后呢,我给它放回到原来这张表里,那是不是就完成了我们这一天的更新操作了呀,大致思路就是这样了啊OK,那接下来咱们来分析分析。我们每一个字段,它的更新逻辑应该是什么样的,每个字段的更新逻辑干什么,咱们逐一的看啊,咱们先看第一个首次登录时间。这个的更新逻辑应该什么样的啊。首次登录时间啊。这个是不是不变对不对啊,因为首字老用户是不是肯定是不变呀,对吧,但但是咱们得考虑还有新用户对不对,那新用户的新这个首字母应时间大家应该选谁,那这个是当天日期,它就是当天新增的吧,对不对,哎这个其实很很简单,那下来咱们看下一个字段啊,咱们看这个末次登录时间,首先末次登录时间,哪部分用户的末次登录时间需要改。
03:06
是不是这一部分需要改?你今天活跃的时候才改,那对于新用户呢,莫磁能时间那是不是就是今天啊,那也就是只只要把这部分用户的莫斯能时间改成今天就行,上面这一大串是不是都不用动啊,这个很简单,再看下边累积登录天数,这个应该怎么处理?累计天数。累计一登天数,这个怎么处理?那应该分三种情况了,对不对,这部分不变,这部分呢,原来的基础之上加个一,注意是累积的天数,对不对,加个一就行,那这部分呢,那就是一对不对,那也是这个逻辑,哎,还好,那先来看下边这个最近三十日登录天数。这个咱们怎么搞啊。最近三十一样是吗?一样吗?这好像不太一样了啊,那你要想更新最近三十日登录天数啊,你说咱们这个只拿当天的活跃记录行吗?因为刚才咱们说了这个是不是当天的活跃记录啊,对不对,你只拿当天的行吗?
04:15
你要想更新最近三日只拿当天行吗?不行对吧,为什么不行啊?因为你这个最近30天是不是它相当是一个窗口,一直不断的往前走啊,对不对,你最近三到了今天,我在最近30天是不是有今天了,有今天你还得把谁去掉,把这三十三十天里边最前面那天是不是还得去掉啊,对不对?所以说你要想更新最近三十日登录天数,你只拿当天的活跃记录是不行的,你还得拿谁呀,还得拿这个30天里边最开始那一天的记录,对不对,你得把那一天也拿到。呃,这个具体的逻辑应该什么样的呢?应该是减去30天之前那一天的。那个活跃,那当然你得看他那天有没有活跃,那天如果活跃了,你就得减一个一,如果没活跃是不是减零就行,那如果说还得怎么样,还得把今天这个考虑一下,今天如果回来了,我就加个一,否则呢,我就加个加个零或者不加呗,是不是这个意思啊,所以说如果你要想更新最近30天的这个登录天数,只拿当天的活跃记录是不够的。
05:22
啊,你得拿两天的。或者说你这也可以简单粗暴一点,怎么简单粗暴一点呢?啊,这就看数据量了,如果咱们这个数据量不大啊,那我直接怎么做,我直接把每个用户的。最近30天都怀疑天数,我重新求一下。对不对,你要重新求一下,还用考虑这个这个复杂的逻辑吗?不用了,直接怎么做,直接用你新求的这个最近30天的,把原来那个直接怎么做就行,覆盖掉就可以,对不对。没错吧,因为你这是重新求的一个对应30线的嘛,直接覆盖搞定,是不是也可以这样简单粗暴一点。啊简粗暴一点,那这是我们这几个字段的更新的这个思路啊,大致思路就是这样啊,那咱们文档上用的是哪个呀,文档上用的是这个简单粗暴的这一啊直接再重新求一下啊,当然这个你要是呃不想用这个,最近直直接求你那个用两天的也行啊,30天之前的再加上今天的哎,一改也是可以的啊,也是可以的啊诶这就是咱们这个每个字段的更新思路,你包括下边这个,其实你看啊,咱们虽然这个字段名字不一样,什么下单的,这个支付的,但其实他们里边的逻辑。
06:29
是不是大致都相同啊,大致都相同啊,这是咱们这张表的一个更新思路啊,咱们就分析完了啊,视频我录一下。
我来说两句