00:00
呃,那我们接着讨论这个问题啊。刚才我们聊到说准备用绘画窗口来做这个事情,但是呢,它里边。有那个瑕疵不好的点。对吧,在于我们说的他可能呢。他可能是这个有多条。数据。本来人家是属于不同的绘画。但是呢,你如果只看时间,把人家归纳到一个绘画里边了。对吧,也有可能会出现这种情况。你呢,你给定一个时间对吧,无论你给多长时间啊,假如说X啊,你给一个X好,那呢我呢就出现这种情况,我呢访问一个页面对吧,连续的访问这个呢,都是小于X没问题对吧?好。接下来呢,这个中间是X加一秒。啊,X加密我访问了一个页面对吧,本来我是连续的。绘画。对吧,但是呢,你给的是X,就把我这个画切开了,本来我是一个绘画,你把它变成了什么。
01:04
俩绘画了。对吧,所以呢,这些都是我们说的,你直接用绘画窗口去做这个需求呢,他会遇到的这个。不好的点,瑕疵点。对吧。但是这个如果说没有其他更好的办法。那也就只能这样了,因为谁叫咱们没有绘画ID呢?你就只能接受这些瑕疵,因为你时间无论给多少。你没有发ID。那你就不可能做到那么精确。说我就实打实把。真正意义上的一个绘画的数据放到一个绘画里边,对吧,那不可能你就做不到这个事儿。对吧,好。呃,那我们想一想。有什么好办法呢?对吧。你除了这个绘画。有没有其他的好办法呢?我不从绘画窗口这个角度,我能不能从其他的方式来想一想呢?
02:07
或者大家可以考虑一下,离线书仓里的这个绘画ID到底是怎么来的?我们能不能从这个角度来考虑一下呢?可能离线的那个需求被大家都抛之脑后了啊。忘了。啊,然后牛总说了,按照mi分组,再按照时间拖排序。看last page啊可以吗?对,可以啊,这也就是我们的什么呢?咱们的离线书仓里边的思路嘛,对吧,自己拼接出来一个绘画ID是不是。咱们自己拼出来的啊,这不是离线的思路吗?我问的不就是这个意思嘛,对吧?好,关键问题在于什么呢?
03:00
咱们这个问题啊,比较严重,什么问题啊。我们是柳。我们是流市数据。对吧。啊,咱们是流式数据。他他不像说离线,离线的那个数据都在哪。对吧,咱们现在留,我可以按照mid分组对吧,然后按时间去排序,但是有个问题,你收集多少数据算结束呢?对吧,所以站在离线的基础上,我们稍微的改一改这个思路。对吧。你想一想啊,我们稍微的改改思路,再结合我们说的,我们只要一个页面的这种数据来想一想这个需求,我们可以怎么做。思考一下啊,引导到这儿对吧啊。感谢牛总啊,把他的思路分享给大家了,对吧,顺着这个思路走,但是牛总说的这个方法不可行啊,因为我们是流失数据。
04:04
拼接绘画ID写到状态,嗯,说具体一点。其实在我们这个实时书仓里边,你不用拼接这个绘画ID。对吧,你不用拼接绘画ID,我们奔直接奔着这个目标去就行了,我给你提示啊,直接奔着这个目标,因为绘画ID这个事情我们之前讨论过了,我说了就算有绘画ID你也不好处理,你这个流逝你也不好处理。对吧,你无非接下来想着按照绘画ID分组求看对吧。关键问题在于你看求出来,然后呢。他不像我们离线了,他数据是死的,对吧,所以你不要往拼接绘画ID上去想了,你就按照这个思路对吧,我们。
05:06
按照m mad分组,然后看last的ID来来分析出来是不是一个绘画。对吧,我只要能知道他是不是同一个绘画。我就知道了。啊,每一个last配置为now,就是一个绘画,好,继续继续往下说。这个说的不错啊。这个还不错,对吧,诶,我遇到一个上一跳页面ID等于浪的,那它就开启了一次新的绘画,不错,好继续。往下呢,我怎么能找到。我要的这个数据。对吧。来,大家来思考这个问题。啊,当然我呢,就相当于是那个剧本杀的DM对吧,啊扶车的。
06:06
Mad相同的。都是一个绘画。再看之后。有没有数据?啊,我把大家的拼接起来啊。相当于大家我们一块来玩一个剧本杀,我是DM对吧,大家呢,自己去探讨这个问题,然后呢,我在吃屎的时候去扶个车。对吧,去扶车啊。就是如果说大家讨论的方向有点歪,然后呢,我就来扶一下车,给大家一点提示对吧。来,我们把这个结合大家说的,我把它结合起来看,他说每一个那ID等于呢,就是一个新的绘画啊,这个呢,我们叫新的绘画啊。就是一个新的绘画对吧,这个没毛病,这句话说的啊,呃,然后之后呢,再看有没有数据啊之后。再看之后有没有数据。呃,没有,就是跳出这个呢,是一组对吧,这个都是牛总说的啊,我们就放在一放在一起对吧,放在一起啊,牛总说的,他说没有数据呢,就是这个。
07:03
跳出了对吧,好mid,那然后方总说了说这个。ID相同的,都是一个绘画。这这个不对吧。这个不对啊。对吧,Mid相同的都是一个绘画,那那这这个肯定不对,那我一个mid。怎么可能都是一个绘画呢,对吧。好,那我们就这样来说,我们应该怎么写。第二个思路应该变成什么样子,大家想。第二个思路,我们应该变成什么样子?就是每一个上一条页面。纳都是一个新的绘画。然后呢,我找到这个数据,找到新的绘画数据,我就看后面有没有数据,没有就跳出这个怎么翻译成代码呢,你看啊,没有数据就跳出。
08:02
那我现在是旅游,我现在有一段时间没来数据了。那。我怎么知道后面还有没有数据呢,因为你是流啊对吧。这个翻译成代码怎么办?啊,好,电视器可以。啊,对,定时器。啊,定时器对吧,哎,我给定一个时间,比如说还是给这个时间吧,是不是还用这个时间啊,对吧?啊,那就这样。我把它分一下啊,就是来了一个上一跳页面ID为none的数据。那我呢,要把这个数据。存到什么?状态里边对吧,因为你得考虑没有的时候要输出啊,这个数据过了,因为这条数据刚来的时候,你不能输出。对吧,你得等,等到没有数据来才输出吧,所以呢,是不是要把这条数据存到状态里边。
09:08
对吧,然后呢。最后等着等到什么时候呢,定时器响对吧?啊,那定时器呢,定个十秒。定个十秒,然后呢,我们输出。对吧,好,嗯,那思路二呢就有了。死了。就是用什么呢,用状态编程。但是呢,我把你这个呢再丰富一下。可以吧,怎么丰富呢,来看啊,呃,绿的。上一跳页面ID为nu。对吧,我们干什么事呢,取出。状态数据。取出的数据对吧,这个啊注意看啊,这样我们这样写啊。呃,如果说当前的状态为,那这不是状态啊,当前的数据上一跳页面ID为,那那我把状态数据取出来,两种情况,状态为,那跟不等于now。
10:14
状态等于。那和什么呢?状态不等于呢。如果状态等于钠,那么怎么办?定义石器。加。将自身写入状态。对吧,这是牛总刚才说的,那没有数据就输出嘛,对吧,规定十秒十秒都还没有来数据,那我认为这个会话已经结束了,对吧,那他只有一条好,那如果状态不等于它呢。如果状态不等于那的输出。状态。家。能明白吗?
11:02
牛总说的是其中一种情况,就是你来了一个这样的数据。对吧,后面呢,没有数据来了,至少十秒钟没有数据来,但有没有这种情况。就是刚才我们说点广告那个事儿,对吧,诶,那我点了一次广告退出来了,又点了一次广告退出来了,他俩呢,不到十秒钟电视器没响对吧,你第一条上一条文档的,到了第二条文档的,你看啊,那如果连续的两条。上一跳都为呢,说明第一条数据是不是跳出数据。对不对。能明白吗?如果说我出现连续两条。上一跳页面ID都是呢。对吧,哎,你连续的两条都是呢,那是不是说明第一条数据。
12:05
是一个跳出。思考一下啊,想一想。这就是说我们说挨的很近的对吧,点击广告的那个。对吧,所以是不是在刚才牛总所说的这个基础上,我加一个这个内容啊,对吧,因为我们只会把上一跳为none的数据写到状态里边,对吧,所以呢,你当前这个数据状态不等于那且。你这个数据本身对吧,是上一条页面,它等于呢,说明你是什么,诶你挨着两个。是这样子,至少是这样对吧,至于这个有没有箭头出去,那不好说对吧,因为他有可能是怎么样,有可能这样对吧,他连续的访问,但是你不管是这种。还是第二种对吧,不管是一还是二,那么这条数据一定是我们要的数据吧。
13:01
没毛病吧,这条数据是不是我们要的数据啊,对吧,就是说是不是这个逻辑。能明白吗?OK吗?这块能接受的,OK的,给我扣个一好吗?就是能理解了的对吧,给我扣波一。其实我就找这个连续的两条,上一条为闹的数据,对吧,然后呢,把第一条数据输出,因为第二条数据没办法输出,第二条数据得看第三条对吧,但是考虑到有可能我访问了一次之后,后面再也没有数据,所以呢加一个定时器,为了最后的这个数据也能输出。对吧,我可以用状态编程的方式来解决当前这个问题。对吧,来搞定这个事情好,那我这个。
我来说两句