00:00
好,那接下来呢,我们去写这个代码,首先呢,创建这个payment in for啊同样道理,Payment in for呢,还是跟我们这个MYSQL表,当然我们删减了字段啊,你在公司当中你不知道的时候。那就把这个买三个表当中所有字段全部拿过来,对吧。我们是把有的东西呢,对于我们后续不需要的,我就给他删掉了。把这个转过来对吧,好,那接下来呢,还有一个payment wide。吃着泡面,听着,范总确实有点过分了。刚才说你跟谁一个宿舍?让让那个谁把你揍一顿吧,啊,把你揍一顿啊,不是你把他揍一顿,是他把你揍一顿。
01:15
你下去收拾他是吧?对,应该收拾什么玩意儿,怎么还在吃泡面呢?啊。旁边有家猪蹄好吃还便宜,一天一个,你也你也参与进来了是吧?谁跟万达住一块儿,把他也弄死吧,好吧。DWM层,然后接下来呢,我们去这边。战场,一会儿去买有点过分了啊,来把这个代码看完好吗?等会儿再聊行不行?现在你们是不是有点过分了,你告诉我。
02:00
获取虎丘了,你看或许都是虎丘了,就是你们搞的。对吧,获取这个真行环境。第二。对,我这边其实可以禁言啊,我把你们全体禁言了再搞对吧,第二步读取卡不卡主题的。数据创建流对吧,两个啊,然后呢,B。大家又卡了吗,现在。我怎么看到好多人又在重新进入直播间啊?大家卡了吗?没有是吗?因为我看到好刚才好几个重新加入直播间啊,行,那没卡就行了,没卡就行,我就问一下,因为我看的这边弹幕刚刚有一点,现在好了是吧?啊对,我一直看着这边弹幕,行呃,不聊了,不聊了就是吃什么,那就半个小时下课了再聊嘛,对不对,好并转换为Java。
03:09
并对象呃,同时提取。提取时间戳生成water mark对吧?因为我们要做双流招引,那肯定要用事件时间,之前我们看到的好,那就来第三步。就是双流转引,装引好以后很简单了对吧?嗯,那这个join引完就完了呗,对吧,装引好之后呢,将数据写入卡卡好第五步啊启动任务,所以我说了这个完全大家可以自己去写。很简单对吧,还要我这边去敲一遍啊,其实我开始想的,要不然我就不敲了啊,完全给自己。
04:00
啊,我我想着这个应该是可以的啊,大家这个能力还是有,毕竟是学的学的相当好的,听说学的特别优秀的一个班级嘛,对吧,毕竟是这样。我拿一下这个主题啊,把这个拿来。MY卡YouTube.get卡一个consumer对吧?嗯,然后呢,是我们的先all这个逃,然后白对吧,然后继续点map。一行数据啊。然后呢,这边直接我们想一下啊呃,All the wide对吧,我们就可以直接返回啊,直接返回或者说这个地方呢,我们可以这样写。我们要转成这个杰森对象,哎,Java对象对吧,Java对象的话,我们就不这样写,我们这样写一下,嗯,那就是杰森直接return吧,然后呢,杰森。
05:08
点pass object,然后呢,这个line进去。然后是all的点。对吧,这个地方呢,可以诶直接这样去写一下啊,填写行,那接下来呢,我们拿着它去,呃做这个提取时间戳对吧,A sign time step and what marks,然后呢,Whatmark strange,这个地方呢,反正我们最后要给一个时间范围,对吧,所以呢,还是用增长这种方式就行了啊用S这种方式啊啊那这边呢,叫all the wide对吧,All the wide。Element,那这个里边其实我们当时后面我再改一下这个,这里面呢,没有直接放TS,其实我应该直接放一个TS更好一点,对吧,那既然没有TS的话,那我们就用一个simple。
06:06
Date对吧,YY。弟弟。好,得到一个SDF对吧?好,那接下来呢,我们要做的事情就是SDF点,呃,Pass啊pass什么呢,就是element点。Get create time对吧,创建时间创建时间,呃,然后同时呢,这边。点get time好,那这有一个异常,这个异常呢。他只能去抓一下啊,那如果抓到异常了怎么办呢?这边也就是说这里边如果发生了异常了,对吧,发生异常的,那我们怎么怎么办呢?啊,当然咱们可以这样做,可以这样做怎么做呢?呃,一种方法用它。我们如果刷异常了,你怎样返回,要不然他报错对吧,用这个数据。
07:05
假如说这里边解析发生异常了,我们可以用这个数据。啊,那这个数据是什么呢?就是说当我们数据里边这个地方有问题的时候,用它代替它其实就属于这个进入系统的一个时间。啊,它其实属于进入系统的一个时间,用它就好了,用它来代替啊用这个。啊,因为正常来说,我们不考虑网络延迟的话,那么我们这个数据里边创建时间应该跟这个时间是一样的,或者差不差不了太多对吧,所以呢,我们事件时间可以用它啊,可以用它这样来处理一下啊好这个就搞定了,CTRL加V,我们又得到了一个O的Y。D,对吧,那当然同理,咱们还有一个Inv.at source叫my KA YouTube.get卡一个consumer,呃,这个地方呢,是payment for south group。
08:00
继续点map,还是一行数据对吧,一行数据呢,我们要解析一下啊,这个地方,嗯,首先呢,我们应该是杰森。点pass object,然后呢是然后这个地方是payment in.class。康加杯得到一个payment in for,那图里我们看一下payment for当中有没有什么东西需要我添加的,你看怎么样,并没有吧,只有一个create time啊,只有一个create time啊,所以就没有啊,行,那没有的话呢,我们就直接可以做什么事啊。直接这样来写了,对吧,把这个单号呢给他干掉。行,把它变成一行啊,那这个分号就不要了,对吧?呃,那接下来呢,继续sign step and what maps what mark strange,还是一样的,用增长的这种方式。这个是payment。Info。
09:00
点。With time step new,一个civilization的一个step,好,呃,那这里边也一样的,我们其实用的方式呢,跟他一样啊,我把它拿过来。但是呢,这个地方a element,点这个地方叫element没有问题对吧?好,那这个就搞定了,两个都一样啊,用法都一样,行格式化一下,然后CTRL加V,得到一个payment for的一个DS。Payment的一个点S对吧,好,接下来呢,做这个双流交引,那假如说我们拿这个payment DS,点这个KK对吧,然后呢,是payment in for,呃,这个地方呢,要get out ID对吧,用ID点,然后in the Joy,好,呃,Join谁呢,我们的点s.K。好,那这个地方呢,是all wide里面的get old ID。ID并不是啊,我们要干的凹ID对吧,大家都拿这个凹ID,接下来between,呃,那这边呢,一个上键一个下键,那你告诉我是负15还是正15,是前面就是这个地方,呃,哪种大家看啊。
10:17
点对吧,这个地方负15。Time。点minutes,这是哪个,是要前面的还是要后面的,当然我两个都保留,肯定都可以,但是没必要对吧。大家想一下,我们应该保留哪一个?
11:04
啊,刚才弹幕全是正15,现在怎么清一色变成了负15了?刚才不都是正15吗?所以这个正15还是负15,它得看哪个流去撞哪个流,对吧,来看啊,我这个地方写的是支付表去关联。订单表对不对,好,假如说支付表在下面。订单表在上面,注意这个是支付表,这个是订单表,那支付数据是不是后后来呀,对吧?好,那也就是说其实他专用的范围是不是应该这个样子。是不是应该是这个样子,对不对。就是可能有网络延迟对吧,诶我们照一点点对吧,搞一个三五秒钟网络延迟是不是就好了,这边呢,可能我再给一个五秒钟。
12:02
对吧,也就是说这个呢,保留五秒钟。这是五秒钟,这个是15分钟对吧?好,那你想想看。这个到底是负还是债?把这个图一画出来,是不是就清楚了?对吧,把这个图画出来是不是就清楚了。是不是?对吧,那我们知道之前我们看到这个是主流,这个是从流吧啊。所以这个是不是夏季啊。这个是上边界吧,一个是下边点上边点lower低的对吧,这个是啊。啊,对吧,所以应该是什么保留负十五八,前面这个数字是负的啊,你也稍微想一下,但如果说反过来呢,如果说我拿着订单表去关联支付表呢。那是不是就反过来。
13:01
是不是对吧,所以你要你要看一下啊,你不能直接说这个事儿,你得看哪个流赚哪个流,但是如果说这个地方我用订单,用订单去关联这个支付呢,那订单这个数据,它关联支付肯定在这儿吧。对吧,订单先有嘛,然后支付呢,在15分钟这个范围内都是可以的,对吧?所以这个地方是正15,这个地方正15对吧?所以正15还是负15,你得看哪个流照应哪个流对吧?好,那这边呢,我们就给一个second,然后呢给一个五秒对吧,防止有网络延迟,假如说我刚下完订单就立马支付了,对吧,下完订单立马支付了,他有可能呢,有这个网络延迟,所以呢,我给个五秒可以吧,这个没必要保留15分钟对不对,对吧?啊,给一个五秒就够了啊行,那接下来继续啊,点process,用一个这个process交易方式。那这个是payment。White。
14:02
Payment对吧?好,这个地方呢,Left叫payment for啊,然后这个地方呢是right old,行,那我们写出去啊,由于之前我们也写了那个方法了,就直接写out.connect又有一个payment wide,这里边呢要两个参数,第一个payment for,第二个out wide看。用第一个构造器啊,Pay的。嘉宾得到一个,呃,Payment。DS。对吧,接下来呢,将数据写到卡夫卡啊,那这个很简单了,就直接,呃,Payment y DS先在这边做一个打印啊,防止卡夫卡没有数据,对吧,我们做一个打印,然后payment wide。点点and think叫MY卡卡,点get卡卡这个producer,当然在这个之前,我们每次都忘了做这个事了,点。先转一下对吧,用杰森。
15:03
Object里边的什么?To Jason string的方法,把它变成一个形,然后呢是think。Topic好,最后呢,启动任务烟点。这个我们拿一下啊。叫payment的。单那这块呢,代码就写完了,它就是一个很简单的双流join,只不过说大家在做的时候一定要注意一下这个时间。对吧,也教大家怎么去分析了,你把图一画你就知道了,对吧,哪个流照应哪个流啊,你就清楚了,左左边跟右边怎么写了,对吧,好这个就搞定啊。
我来说两句