00:01
来吧,继续啊,呃,那剩下这个其实就很好写了啊,很好写了,首先你看一下啊。呃,对于我这个order info没有,但是这个order detail有的情况下就说白了,什么情况呢,就是它来了。呃呃,我看看啊。就是他来了。对吧,但他来了以后呢,呃,发现没有这个order,发现没有这个没有这个order info我写到这啊。诶正好有一个是吧,就是相当于什么他来了。对吧,他来了以后呢,发现说诶。没有这个什么什么order info好,那么他要干嘛呢?他要去尝试先去读一读,先去读一下,如果说啊我的啊应该在这吧。把这个拿走一下啊,就是。对吧,你看啊,就假设啊,我在上一个批次呢,这个all ino来了,他没有关联成功啊,或者什么他这个不管他有没有关联成功吧,他一定要写缓存的。
01:01
能理解吧,好,那这个时候我的在这个批次中呢,我的这个al detail来了,来了以后呢,他要先到什么,先到他们去找一找,如果说能够找到,那么他们两个就关联成功了。对吧,如果说我找不到,就没有这个东西,假如说呢,他在哪呢,假如说他在这儿。能理解,假如说他在这那这个地方就没有,那么就相当于什么,相当于他先来的,那么他先来的话呢,他没有找到,找不到以后他要写缓存,写缓存以后呢,等着下一次他就能够什么跟你缓存中做一个关联了。对吧,是这个意思啊,所以说我们要先去什么,先去读缓存啊,那读缓存的话,你要知道读的是谁,读的是我的order info吧。所以说你要把。可以拿过来,当然这个地方的话就没有这个什么all in for了,你用的是all detail,因为我们敢确保你的all detail肯定有,所以说我就可以什么直接什么all detail的op,对吧,直接去get,把这个order detail给它get了回来,这时候呢,确保它肯定是有的啊同学们好,那我就什么可以写了啊,因为人家order info存的时候用的是这个订单的ID,那我这里面应该写的就是order detail的这个order ID,这不是那个订单ID吗?
02:05
对吧,我去读啊,那我读一下吧,呃,加点get,然后呢,把这个放进去,然后呢,返回的是一个叫做order in for的一个JA,好判断啊,如果说你的order in for JA是不等于空的啊,并且我也要求你必须得有长度哈,S是大于零的,就说白了啊,你你你一定得是一个什么,加上数据就是有值还得。好吧,就你做一个什么基辅判断啊,好这种情况下,那我就又可以什么去组装了啊组装成嗯,组装成这个out。好,那组装之前的话,你先把它做一个转换啊,就是摘。第二,Pass object,然后呢,把这个order info搁进去,然后呢,Class of,我们转成这个order info,好来,这是我的order info行,那我组装一下啊,右上一个order we,把这个order info扔进去,把这个order。
03:08
Detail扔进去,好,最后我们得到的是一个order,对吧,然后呢,再是加入到结果集中啊,加入到结果集中就是order,这end把这个order扔进去。是吧,那你看啊,如果说。我的这个out。对吧,从你的缓存中找不着,就读缓成我没有读到,没有读到的情况下,那我就会是可以else else,我再去写,如果说我已经读到了,就说白了,我已经能够正常关联成功了,那我就没必要再进缓存了,因为你进缓存。也没有人再去找你了。你能听懂吧,你进缓存也没有人再去找你了,因为你你只能跟别人关联一次,你不可能关联多次的,就没必要进缓存了啊,但如果说你看一下啊,我。关联也没有关联成功,然后呢,我读缓存也没有关联成功,那我只能进缓存,就说明什么,说明我来找了,然后呢,AO还没来。
04:06
对吧,好,那你先缓存的话呢,还是一样的啊,把你的K拿过来,K的话呢,刚刚我们用过一个,我就拿过来啊,就这个。看一下啊,叫做all joining all detail,这里面写什么?写的是all detail的叫做all ID啊,你千万不要写错了啊,All ID。对吧。好,那你有了以后呢,接下来就是干嘛呀,就是你的加点叫做,然后呢,叫做red的order。All detail key后面写什么?后面就写你当前的这个order detail是吧?那我就要摘点to JA string,好把这个all detail扔进去,呃。So like啊出对吧,把它写进去,那同样哈,呃,就正常,我们需要什么设置过期时间啊,就这个X。
05:02
对吧,啊,那我们就笼统一点吧,就是24乘以什么乘以这个3600啊。呃,诶忘了key啊的key对吧,这样就搞定了。明白了吧,啊,这个就写的比较简单了啊,行好,那最后的话呢,我们把这个整你看啊,整个这个for循环处理完成以后,整个for循环处理完成以后,就相当于我把你当前整个批次的数据,把你这个正常关联成功的,对吧,以及就是order info跟缓存中关联成功的,以及你order detail跟缓冲的关联成功的,把这些数据呢,我就全部都放到了一个集合中,那最后呢,我把这个集合呀,给它返回回去好来,结果接收回来,这个就是我们的order wide的一个re了。其实就是我们最后关联成功的数据,好,下面我们把它做一个打印。看到了吧,同学们,比如说打印上1000行。
06:02
好吧。终于呢,就把它写完了,写完以后呢,下面我们的操作就是做测试啊,来测一把,呃,那要测试的话,哎哟,还得起起环境啊,环境又没起。提一下啊,这这挺快啊。好呃,然后呢,顺带着这边也起哈,这边的话我们要起两个啊,一个是你的上游,上游是贝斯蒂利啊,把它起起来。对吧,一会再起这个下游吧,啊,然后呢,再回到这里面再接着起啊,我们需要用到这个Maxwell啊。呃,Maxwell啊,然后呢b Maxwell,然后刚刚con practice,然后刚刚DEMO啊,想也得起啊,呃,Red-server,然后呢,用的是o BT Mo买RED1018对吧,然后呢,ready.com,好把它都提起来啊。
07:09
行,这个都齐了,以后来看一下啊呃。这还没骑起来这么慢呢。好,他起来了啊,起来以后呢,把这个。下游起起来。好,然后我们还是把这个打开啊,这个打开我们可以做验证啊,就看一下你到底有多少的数据能够关联成功,我们做一个验证啊。OK,来吧,那现在的话我们就可以去跑数据了啊,你看这个上下游是不是都起了呀?好,下面来跑数据啊,我们回到这里面DBs.SH,我们跑一个2022杠零。三杠二五走。等他跑完的哈,好,已经跑完了哈,跑完以后来先来到这里面,我们去查一下走。
08:05
呃,总共有这个52行的数据能看到吧,好,那我们就回到这里面去看了哈。这里面去看一下。多少行数据啊。诶,这个放到两个批次了是吧,两个批次来看一下啊。这个是这个是37啊,看好了啊37,然后呢,这个是。15。37加十五五十二。呃,我算没算错吧,对吧,而且你看这个效果就很直观了啊,两个批次了,你看到没有数据进入到两个批次以后,但是最后的结果呢,还是正确的啊,你看这是这是什么呀,这是这个37行。对吧,然后下面这个是选一下啊,这个是。十五行三七加加15,不就是这个52吗。对不对啊,如果你觉得不靠谱不保险的话,来你再测多测几次啊,多测几次找一下。
09:04
哎,看你测数据,那你重跑数据哈。这个时间不给了啊。好重跑一下数据啊。呃,跑完了啊来跑完以后呢,我们再来去看一下啊,刷新一下执行一下。呃,36行看到了吧,这一次36行数据OK,那我们回到这个代码中啊来,这是我最后的结果,呃,他这一次都在一个批次里面啊。36号没问题吧。对吧,啊,这个你就自己去测吧,啊,肯定是没啥问题,因为呃,我记得我们昨天这个加的那个破坏还在啊,就是模拟数据延迟,你看我的数据延迟还在的情况下,我的结果呢,其实也是能够什么正确的。把它什么拿出来的。看到了吧,同学们好,来,这就是我们最后这个解决的,呃,结果啊,行OK,那把这个都做完以后呢,接下来你看啊,我们现在已经拿到这个最后的数据了,就是你关联成功的数据了,那下一步其实就是还是写无ES啊,对吧,这个事情呢,我们就什么还是先呃放一放啊,等我们讲完ES以后,我们回头再去做这个事儿。
10:18
啊,等把这个写进去以后,我们就可以什么直接开始做应用层了啊,就可以什么做这个数据的这个分析了,好吧,行,那我们就先停了啊把这个注释掉。
我来说两句