00:00
好,那接下来呢,看我们的第六个需求,那这又是一个非常简单的需求。很简单很简单啊,呃,那在哪呢,大家看啊,首先咱们呢,是要这个业务呢,我们看一下要求这个下单四五十时表,诶,也就是说下订单的那个操作对吧,我们要看这个下单,因为未来呢,我们可能要求这个GMV。大家都知道这个需求GMV对吧,那GMV这个需求呢,其实就根据下订单的总金额来做这个事儿的吧。是不是对吧?啊,那所以呢,我们这个就很简单啊,那我们要从这个卡读取订单预处理表的数据,因为我们已经把相关数据都关联好了。对吧,就不用在你去过滤数据,再去join什么这个数据那个数据了,不用了。懂吗?根本就不用去关联这些个数据了啊,那我们直接去筛选订单。下单的数据啊,应该叫下单明细数据啊,这个写下单可能会更好一点。
01:03
对吧,啊写下单大家呢,容易区分,因为订单的话容易跟上面一个内容。冲突对吧?好,那我们就直接从这个主题里边读取这个订单预处理数据,然后呢,我们筛选出下单的明细数据,对吧,我都改成下单啊下单明细数据,这样可能会更好一点,诶下怎么没敲上呢。对,我们去筛选这个下单的一个明细数据啊,那下单数据其实就很简单了,它过滤条件呢,就是说我们的类型为新增数据,大家想是不是啊。对不对,我们的数据呢,得是一个新增数据就可以了。那新增的才是下单嘛,对吧,如果你更新了,那你就是在修改这个订单的状态啊,那不管怎么说,你所有的订单,第一个订单状态一定是什么。下单状态对不对,哎,刚下订单的一个状态。啊,所以呢,这个需求非常的简单,其实就是消费,我们之前。
02:04
已经写好的这个预处理表,然后呢。提取音色的数据就行了,但是这个呢,我还是真得自己写一下啊,为什么呢?嗯,因为我们刚才说了,我这个地方呢,保留的是所有表的字段,而且呢,我自己是不是有时候改了一些字段呢,大家还记得吧,有些字段名改了,我如果直接从文档当中去粘吧。那有可能字段又对不上了啊,又得去改这个东西对吧,我倒不如自己来把这个内容呢去写一写啊,那这个需求呢就很简单了,消费DWD订单预处理这个我就不打开了啊,然后呢,筛选下单名就过过滤呗,对吧,最后呢,定义一个connect的表啊,这个呢,也没有用left drawing啊之类的东西,那我们就正常的。卡夫卡的这个连接器的一个表就行了,然后呢,写到卡夫卡里边多简单对吧?啊好,那接下来呢,我们把这个来拿一下哈。把它拿回来叫DWD。
03:02
All the detail哎,把它拿过来啊。我们又多了一张表。呃,DWD上对吧,在这边呢,我们再来一个。累啊,这个呢,我们就操作的慢一点啊,你就能适应他的节奏就行了,如果说你非常着急,然后呢,他这边慢慢悠悠的,对吧,你非常着急,你就会很难受啊,如果说你把这个性子也平静下来,放慢下来,你就感觉这个东西好像节奏也还好,对吧,你只能由着他来呀,你没办法你改变不了他。那现在呢,我们就慢悠悠的来呗,只能这样了,对吧,PM。啊,就改变不了其他人,就改变自己呗,啊,尽量的让自己去适应这个社会,不要让这个社会去适应你,对吧?啊好。
04:05
那我们把这个步骤写一下,它呢也很简单啊。第一步啊,获取咱们的执行环境啊。啊。给。读取。卡不卡哪个主题啊。叫订单预处理主题对吧。订单。预处理。主题。数据创建表。对吧,你看其实它它显示的,如果我稍微敲快一点,它显示根本就跟不上,跟不上我的敲代码,敲这个汉字啊,敲代码的一个节奏啊,所以我只能慢慢敲啊。呃,那么第三步我已经把这个订单预处理的数据都拿到了,那接下来很简单,我们要过滤出我们想要的数据了,对吧,过滤。
05:10
啊,是真的很慢,对啊,你看跟我之前比就没法比对吧?啊过滤出下单数据。啊,急。这个。感觉0.5倍速,0.5倍速是吗?啊。到时候我再处理一下,我等会儿下课再再看看到底怎么解决啊,这个确实很烦,我也很烦,你知道吗啊。及。新增数据。对吧,及新增数据啊,那么接下来呢,第四步我们要构建这个下单DW怎么一个主题表,对吧?好,那创建。DWD下单数据表。啊,下单数据表。这样还有花屏啊,不是花屏啊,这个不能叫花屏,其实它就是显示慢,我敲的很快,它显示慢啊,倒不会花屏啊,好,那这个表已经有了,那就将数据写出了,对吧,将数据写出。
06:13
到卡夫卡啊,那中间呢,你要想做测试也还行,对吧?啊,你要中间做测试呢,你这你可以转化为流做测试对吧,其实我们中间其实大可不必测试了,因为你就是一部过滤,然后把它写出去。对吧,啊,那我们第六步呢,就是说启动任务啊,但是这一步呢,其实也可以不要说实话可以不要OK吧,好,那么第一个获取我们的执行环境啊,或者说咱们这样吧,把这个。呃,接下来呢,第一个获取咱们的执行环境,我呢从这去拿一下啊,但是这个呢,我可以拿过来,但是呢,我们其实不需要它,对不对,对吧,这个里边又没有做join,又没有做什么事,也没有涉及到什么状态,对吧,我们直接。这样。啊,我们直接这样就好了,对吧,把它注掉,但是呢,我们放过来,因为未来有的需求呢,可能还会用到这个。
07:06
因为后面呢,咱们还会有这种招引的操作啊好,那接下来呢,我们要读取卡订单预处理表的数据,去创建我们的表,那这个呢,Table d点。XQ的circle对吧,这个呢,我告诉你,你不用说再去拿开打开这个笔记对吧,去写我告诉你直接这样来做不就行了吗?对吧,从这我把谁呢,你这不有一个写出的表吗?大家想是不是。对吧,在这边我们呢,是有一个,最后是有一个。给写出创建了。一张表。对吧,创建了一张表,好,那我呢。不管怎么样,我直接把这个搂过来对吧,搂过来改一改啊,但是呢,一定要改啊,你不改不行啊,我告诉你改哪个地方啊,看C。对吧,拿过来,拿过来了以后,不管怎么样,我们先把这个拿过来,对吧,拿过来以后呢,把这个地方我们给它替换掉啊。
08:05
CTR位对吧。好改什么呢?首先第一个位置,那这个主键呢,大可不必了。跟这个主键,我们消费这个数据跟这个主键没关系,主键呢,主要是往外写的时候,它给我们去重去用的,对吧,好这个就不要了,不要之后呢,这个逗号你要去掉。啊,这个逗号你一定要去掉啊,然后接下来这个地方是往外写的,是一个属于一个S对吧,那都没有消费者组,那肯定不行,那我们在这边呢,要。Go。卡夫卡D点,然后呢,给他一个什么消费者组,大家告诉我是不是。对吧,主要就这一点,那我们只要这样写了,那我们字段肯定没问题啊,你想想看,因为我直接把前面测试用过的这个给他拿过来的,那当然不会有问题了,对吧,这个就不要了啊。
09:01
呃,接下来呢,把这个类名拿过来,拿过来之后呢,我们把它稍微改一下,形成我们的消费者组,对吧,前面这个什么DWD交易域。就不要了,叫的。对吧,把变成小写,那这样的话呢,我们就得到了一张表啊,得到一张表,这个表明呢,我们可以看一下叫什么叫dwd pre,对吧,就叫这个啊表明叫它,那接下来我们呢,去写这个。过滤。啊,咱们呢,去写这个过滤,呃,那这个时候呢,其实有一些字段我们就可以不要了,你比如说这里面old。对吧,这个字段就大可不必了,你想想看是不是。对吧,其实包括这个什么呢,订单的状态,像这些字段呢,我们都可以怎么样。
10:01
不要了,能理解吗?就像这些东西呢,我们都可以不要了,因为我们要的是下单,那下单我们要的新增数据吧,等会过滤条件的,肯定是新增。对吧,那。我下单状态,哎呀,他干嘛呢。对吧,这个状态all states,那肯定是下单呀,他还想嘛,新增数据对吧,他也没有其他的啊,那其实可以去掉一些什么呢字段对吧,那这个呢,我们最重要的就是说它的will这个什么type等于in inside。对吧,过滤出音色的数据就好了啊,那我们这个呢,可以从我们的文档当中拿一下,当然有的字段呢,可能我们需要做一个调整,对吧,我们拿我们需要的这个字段就行了啊。其实最重要的就是we啊,这个type等于这个。Insert啊,等于它就行了,对吧?呃,这个是消费这个数据啊,当然呢,这里面字段跟我们写的有有一些不一样啊,有些不一样,但是这个没关系啊,那咱们把这个拿过来,然后呢,我们对比看这个数据它。
11:03
有没有问题对吧,好,看到C啊,直接把这个,嗯,拿到这。过滤出音色的数据,对吧,但是呢,这里的字段可能有一些跟我们不一样,因为我们自己有的改了字段了,对吧,我们主要观察一下这个字段有没有我们。改过的。Table找一下这个。对好,把这个杠N呢还是一样的,我们给它去掉对吧,CTRL加R。杠N对吧,我们把它改成一个空格。啊,改成一个空格好吧。呃,那我们接下来看一下这里边的一个数据啊,呃,ID all ID idq ID province ID,这个都是有的,对吧,Activity ID啊,然后啊,活动的规则卡ID data ID这个没有,这个是自己我之前造的数据啊,这个没有,我告诉你啊,这个没有对吧,这样吧,我把这个注释量,省得到时候大家写的时候,诶我从这如果删掉了,大家呢,就搞清楚这个东西了,对吧。
12:05
好,嗯,创建时间source ID source type OK,那这个呢,我们叫source ID,大家还记得吗?我取别名取的是source type ID对吧,或者说这样啊。嗯。这个我应该怎么改呢?嗯。这样我这开啊来看。这样我我只是说把我因为我比较清楚,大家呢,可能不太清楚对吧,因为有些字段呢,写的不一样,那我把这个后面注释掉,然后呢,把这个地方改成。ID。同学们,因为咱们前面我所写的这个字段啊,因为我当时改的是叫ID,大家看见没。对吧,啊,那我之前在。研发这个项目的时候呢,写的是STEM啊code对吧,然后这个呢叫type name,这个没有问题,S number没有问题这个字段。
13:04
Li amount,这个是多余的字段,对吧,给他干掉啊,我们没有,呃,Li activity amount,这个应该是没有问题,Li的total amount,然后这两这个TS是没有的。啊,因为这些东西呢,其实都是多余的啊,都是多余的。啊,你后面想要你还是能够拿到的,我告诉你。啊都后面都还是能拿到的啊,那这几个字段我大家看一下吧,一个是data ID对吧,一个是spli amount,还有一个两个TS啊两个TS这个是什么东西呢?来我们切到我们的文档当中来啊,我对这个东西呢,做一个说明可以吧啊做一个说明好。呃,那找到我们往上翻预处理表啊,那我们往上翻,首先呢一个。先搞定两个TS,直接移下来的,一个是odts,一个OS,也就是说O的detail表。TS跟O的。
14:03
In for ts对吧,那这次呢,我就没写这个东西啊,我就没写这个东西啊,为什么呢,是这样子的来看。呃,我们再往上翻,找到我们过滤的那个订单明细和订单表的数据啊。先看订单明细表。订单明细表当中呢,这个字段。啊,这块呢,我还提前标红了,这个忘了标了啊,那这个字段对吧?呃,这个呢是TS。Ma给我们添加的这个TS,但是实际上我们用不到对吧,如果我当时说了,如果你真的要用这个事件时间,你用谁啊,你用create time去创建一下就好了。用create time去创建一下对吧,好,那还有一个spli amount来看啊,在我们刚才这我是不是把这个注入掉了,叫spli amount。对吧,那这个数据怎么来的呢?也是我自己加工得到的啊嗯,直接将这个SQ。
15:01
乘以谁呢?乘上对吧,乘上这个all the price。单价,当前这个商品的单价得到一个原始的总金额,那我不创建这个字段,假如说未来我DWS真的要用这个字段,我再去把它俩相乘补上,可不可以啊?也可以对吧,因为它是有我们现有的这个字段,你像SQ number,还有这个auto price,我都没有扔这个数据啊。对吧,我没有扔,那我没有扔的话,到下游去加工当然也可以,对吧?好,这是两个字段搞定,接下来订单表里边同理啊,订单表当中呢,咱们也做了一个什么事呢,看啊。这个TS对吧,取到这个ts topic DB里边mal传过来的,但是这个TS呢,其实作用不大啊,那我们就可以把它。不要不写对吧,因为如果真的要用这个时间,那我们就用啊,假如说你是新增数据,你用create time,你要是update的数据,你用这个op time,对吧,这个才是我们真正的一个事件时间,对吧?啊,那咱们要op time保留着就OK了。
16:09
对吧,那对于这张表呢,没有什么好说的,这张表呢,没有什么好说的啊,我们是保留的所有的字段,而文档当中呢,我们是挑了字段,因为我知道有一些字段根本用不到。啊,根本是用不到的,OK吧,好那。王亚帆。啊,在关联数据的时候,咱们还差最后一个字段对吧?来看啊,我们是不是已经解决了TS,还有这个S这些个数据,对吧?然后呢,呃,Li amount也解决了这个问题呢,我已经解释过了,对吧?关于还有一个data ID这个又是什么字段呢?其实你也不用加,后面呢也都能拿得到在这。在这个位置。就是我在这个地方呢,把这个年月日提取了一下,因为创建时间它是有什么。创建时间。
17:00
啊,它呢是由年月日十分秒构成的啊,我就提取了一下这个年月日,但是我不提取可不可以啊,我只要保留着谁呀,我只要保留着这里边儿的一个。呃。我看啊。创建时间对吧,我只要有这个创建时间。那。这个问题不就解决了吗?对不对啊,这个问题就解决了啊,那咱们要年月日就能够拿得到对吧?就能够拿得到啊,当然了,这里边我们在添加两个字段啊,添加两个字段就是我们刚才说的个SQ number和这个order price,对吧?这两个字段我们添加一下啊。因为如果说未来我们要真的要求这个原始的数据。对吧,好,我就写在这个SQ下面啊,写在SQ下面一个呢是。SQ对吧,还有一个呢,是叫order吧。
18:04
价格对吧,这两个那我们给他。拿过来啊,当然呢,我们标记一下。对吧,在这边我也加一个注释啊,这个呢加加。对吧,这是我们。添加的数据,到时候呢,大家。在写的时候呢,就知道诶,假如说你也从文档中粘过来,你就知道哪些地方要去改了,OK吧,我都给大家打了一个标记啊,那这个叫SQ number of price应该没有问题啊,我来看一下啊,在这边。嗯,SQ没有问题,没有问题。对吧?啊,那如果你后面要用原始的金额,因为原本的这里面啊,它只有什么呢?只有那个那个叫。这个叫split。Total amount这个。Split都这个是什么东西呢?因为我们知道。
19:00
把订单的件数乘以单价,这是原始金额,对吧,那有时候呢,我们有购物券。有满减活动,那原始金额100块,可能你只付了80块,那么这个地方是100,这个地方呢是80,能懂吧,这两个餐,这两个你要搞清楚哈。能不能明白这是两个不同的一个点啊。对吧,这是它两个不同的一个点OK吧,啊好,那这块呢,咱们就搞定了啊,那就我呢,就没有真正把这个删掉,因为把它删掉大家可能就不太好看了啊,那如果说你从文档粘过来,你要对诶差了什么东西,你就到这儿来看,对吧,我把这个改的东西都给你。要不然注释料还放在这儿,要不然呢,就加了一些。注释在后面加了一些注释,OK吧啊。好,那这样的话呢,咱们就得到了这个。表了啊,得到这个表了,对吧,把这个结掉。
20:03
好,那么接下来呢,我们要去创建。这张表对吧?啊,当然这个地方呢,我还得改个名字,咱们呢叫DWD。叫啊,我取了一个简单的名字啊。对吧,咱们那张表叫DWD啊,这张在这。对吧,我们要DWD啊,这个表明再改一下啊,从这张表里边去查嘛,啊那接下来呢,我们下单数据表这个呢,我一直不写了,其实资段呢跟上面一样。对吧,这段跟上面一样,那我们怎么怎么来呢,直接把文档都拿过来,拿过来之后呢,我们得改一改啊,我们得改一改,对吧,不能直接用啊,你肯定要改的,嗯,切到9.7往上翻啊,因为代码呢是最后。在这儿。看啊,拿过来。往那一放对吧,然后呢,把我们需要改的去改一改啊,那这个叫咱们现在写的麦卡U啊。
21:06
嗯,CTRL加R。Or全部替换成一个空格啊,那创建一张表DW trade out detail,这没有问题,ID对吧?那首先在这个后面咱们是不是有两个字段。对吧,在这个后面有两个字段啊,那我还是一样的加一个注释啊给大家。做一个标记。在这后面呢,我们加了两个字段啊。好一个呢,是SK。Number啊,那就说number你用three那无所谓,因为你写到是卡不卡啊,他反正要序列化,你出去时候,你要是想把它变成数字,你就转一下数字就好了,对吧,这个还有一个order price啊。什么ID这个没有问题啊,呃,然后呢。这个地方。
22:01
复制CRC对吧。往那一放。这样。对吧,这个呢,我们改了这个叫ID。不叫code啊,咱们叫ID对吧,就跟着我们那个来啊,嗯,诶这边有SK number是吗?啊直接放了,那这个得干掉啊,哎,这样。这个有SQ number的话,那我突然发现这个点啊,刚才还没注意到,那上面的也要干掉。在这对吧,啊,这个也要干掉了,还没注意到啊,等会呢,又又又会出问题了,两个SQ number那不出问题了嘛,对吧,好啊,那看到了我就把下面干掉,因为这样吧SKU的东西放一起嘛,对吧?呃,然后呢,Original data这个东西呢,是要干掉的。毋庸置疑是要干掉的,对吧,没有他啊,然后data ID要干掉吧。接下来呢,这个时间一个TS,这个不需要。然后这个呢。
23:01
不需要啊,那注意这边有修改。因为你把这两个去掉了。这个就修改对吧,这边我们删除这个逗号,我给大家写上啊。我给大家写清楚跟文档当中的区别,对吧,到时候大家呢就不容易,呃自己因为我是比较清楚这里边改了什么东西的。啊,因为我之前备课的时候写过,然后呢,这次我们课堂上带着保留的所有的字段,然后呢,我自己课堂上改了一些名字,对吧?有可能这个名字改的不一样啊,所以呢,大家一定要注意一下,我们看这边有没有问题啊from啊这边也也有一个问题吧,对吧。啊,刚才那边删除一个逗号,这边呢,一样的啊。加上。删除这个。逗号啊,删除逗号OK吧,好,那这张表呢,应该就。搞定了,没有什么字段了,大家帮我再看看啊,ID ID ID ID name,价格省份IDIDIDID。
24:07
创建时间。Sourced type ID type name对吧?呃,Activity total amount,没问题啊,应该都有了,然后那个逗号呢,也都干掉了对吧?好,那这块呢,我们就把这个表就。建好了啊,建好之后呢,我们就可以将数据输出到卡夫卡了,那这一步呢,其实就。很简单了对吧,啊,那他们写的写那个。C env。点。XQ的circle对吧,然后呢,Insert。Into。啊,音色的音度啊,接下来呢,把这个表拿过来。对吧,然后谁那个心。From,咱们应该叫filter,那张表叫fair table啊,在这对吧,Fair the table。
25:00
过滤后的一张表啊。啊,往这一放对吧,那还是一样的,如果说你觉得无所谓,你就直接这样写啊,如果说你。不想看到那个报错对吧,你加一个啊,当然你不加print,也不加这个inv的时候,其实也无所谓。啊,你不去执行对吧,不该执行,因为你没有什么礼物啊,啊对吧,那这样的方式也可以啊,等会我们可以测一下对吧,看这个能不能行啊,啊这个呢,它是没有那个警告的,因为主要在于什么呢?你启动一个流。启动一个理由之后呢。你没有。行动算子相当于对吧,你的流对于你的流没有行动算子。啊,他就觉得这个东西很奇怪啊,所以他就有一个小的警告啊,那我们就这样,这个后面呢,最后我就不写。对吧,我就不写,你可以看一下对吧?好,那这块就搞定了,当然这里边处理了很多的字段啊,当然应该没啥问题,刚才都对了一遍,又对了一遍,对吧?啊,包括这个问题也找到了,还有这个逗号也发现了这个问题,对吧?啊,有时候像这种在这里边修改的时候就会出现这样的问题啊好,那如果再有问题咱们再调呗,好吧,好,咱们把这个简,嗯,那咱们呢做测试,咱们这个是从这个已经关联好的表里边去拿的这个数据,对吧,所以呢,它来自于。
26:25
这个结果啊,从这里边去读数据对吧?啊,那这个流呢,就慢慢的变得复杂了,所以呢,我们要去把之前我们做过的事情再来做一下啊,什么事呢?呃,大家记得之前我们在这都会写一个数据流和程序的,对吧?好,那我们先写它,因为这个out detail是依赖于这个out p的。对吧,所以呢,我们先写这个all the。啊,那奥呢,他消费的是topic。DB这个数据对吧,他消费的是topic DB数据,那没什么可参考的啊,那咱们呢,包括它也是消费的这个数据,对吧,所以他俩是一样的,说实话对吧,那咱们怎么来呢?首先是我们的数据流。
27:13
数据流啊,稍等我们改一下这个数据流对吧,数据流呢,咱们是web。或者APP。对吧,将。请求发送给。Engines。啊,由X呢,负载均衡到我们的业务服务器,因为这都属于业务数据了,对吧,业务服务器。业务服务器呢?其实就是将数据写到哪了,My circle my circle会把这个操作日志写到blog里边。接下来由我们的Maxwell。去读取blog,将数据呢写到。卡夫卡啊,这个在集群上直接完成的,所以它没有一个类对吧,这个就是我们的ods topic DB这个主题对吧?那么接下来呢,由一个flink。
28:09
APP。Link程序去消费这个主题,过滤他想要的表,对吧,那过滤的比较多。对吧,他想要的表,然后呢,做加工处理,又写回到。卡夫卡啊,那这个呢,是咱们的DWD层。这是咱们的DWD层对吧,好这数据流好,那接下来第二从我们程序的角度来说。Web ABB。对吧,请求这个呢,直接是谁啊Mo。代替的对吧,然后到业务服务器到MYSQL,那我们就直接写这个MYSQ了啊直接。是到咱们的这个买缩口。啊呃,之后呢,Maxwell,那当然是Maxwell,这个倒倒没有问题,对吧。
29:05
没回去,呃,之后呢,到卡夫卡。卡不卡呢,它依赖于这个。ZK。好,所以呢,咱们把ZK写一下啊呃,之后由这个程序去消费,那就是它。对吧,叫all price去消费这个数据写回到。卡夫卡啊,这个呢,它是一样的,它依赖于这个。ZK。依赖于这个ZK,哎。这咋回事啊?是有快捷键冲突了吗?怎么总是掉出一个get,很奇怪啊。ZK,啊,好了。好,那这个呢,是他的一个操作,这个我们就做过了,因为它比较简单,所以当时我们没写对吧?好,那我们还有一个谁呢,这个东西啊,我们也把它补一下就是。
30:10
我们的加购。对吧,加购这个操作其实跟我们刚才那个订单预处理表,整个的流程怎么样是。一毛一样的,大家想对不对,但是呢,里边有一个东西需要改一下,就是当前的程序名称啊,那这个呢,架构把它放在这儿。其他的东西都一样的。对吧,好,那对于我们。订单明细表而言呢,来把这个往这一放,再在后面是什么去追加一些东西,对吧,把这个粘过来啊,CTRLC啊粘过来,再到后面呢,再追加一些内容啊,那再追加什么在。继续用一个flink APP去消费,然后呢,写回到。DWD层对吧,好,那这个呢。
31:01
ABB是谁?就是他自己。对吧,这个all the detail啊最后呢,写回到。卡不卡?啊,直接把这个拿过来。最终呢,又写回到DWD层卡夫卡里边,对吧,这是我们整个的一个数据流,所以呢,等会我们要开的东西,ZK卡夫卡麦。对吧,最终呢,我们要开Mo,但是在开莫之前,你得把这两个程序开一下。把这两个同时还得开至少一个消费者对吧,消费我们的all的detail这个主题,至少开一个,至少开一个对吧,好。那咱们到这来啊,先把这个准备工作做一下啊,虚拟机呢,我已经开过了啊,早上的时候对吧,打开这个叉。
32:06
等一下我们的这个连接102对吧,那我们要开的东西ZK。好,然后呢,是咱们的这个卡夫卡,还有这个macel对吧,咱们集群当中呢,就这东西,那应该是MY搜狗MYL开机自启的,并不需要我们去。操心对吧。好,还有一个麦。啊,那这边呢,我们再检查一下啊XGPS查看一下所有机器上的一个进程,看是不是都是OK的啊。卡夫卡ZK麦克L102没有问题,103是ZK加这个卡夫卡104卡卡ZK没有问题吧,那我们东西呢,都已经启动了啊,那我们再开一个那个窗口啊。
33:02
呃,因为两个,一个呢是一个消费者,一个呢是。造数据对吧,那这边呢,我们先去请这个消费者啊,C到OB Mo到卡卡里边,然后呢,启动这个。消费者对吧,那我们这样把这个。打开。打开好以后呢,咱们的消费者在最上面吧。拖到最下面啊,把这个拿过来。呃,主题我在代码当中去拿一下,注意看啊,All the detail这个主题对吧,这个类啊,把它往下翻,然后呢,主题DW叫trade all the detail对吧。好,那这个准备工作咱们就。搞定了对吧,接下来做测试,那我们就要启动。先启动这个all pre这个预处理表,把它启一下。
34:11
起来之后呢,我们再去启动这个all的detail。然后呢,把这个凹洗一下。呃,那我们多等一下,看这边有没有报错啊,因为有可能我们字段处理的有问题嘛,对吧,有可能哈。因为有可能这里边问题没处理干净,诶还真有问题啊,嗯,Source type not found in any table对吧,他说这个source type source type我们有,我没改吗。
35:06
这不菜ID吗?Source type。嗯。啊,傻了,这个东西呢,我。这改的不对吧,这个应该直接改成谁呀。叫。South。ID对吧,咱们的名那应该他啊刚才呢,没改,因为这个原始写的什么,把source type改成source Type Code对吧?啊,刚才没注意到这个点啊。那肯定不行,对吧?啊,因为咱们在我们前面的预处理表就已经改成了什么叫source type ID了。在这个位置啊。就已经改成了source type ID了,不是叫type对吧?啊,我们就在前面就已经改过了啊,那这个字段刚才没处理干净,没注意啊,这中间呢,有个空格啊,没注意到这个事儿对吧?好,那我们重新再来。
36:00
运行一下啊。当然有可能确实就没处理干净啊,所以呢,我把这个东西都给他写了啊,写出来了你要从文档中粘,你也要注意一下,对吧,你要是自己搞不清楚,你就看一下我这边的注释对吧,我都给你标记出来了,哪些字段需要做调整啊,除非呢,你不需要做调整,那你说我pray这个需求,我就照着文档写的,有的同学对吧,我就根据文档写的,没有根据我这个。Get上的代码那你无所谓,你直接粘过来可以直接用了,对吧,你只要跟着文档写的,但是如果说你要根据我get上代码写的,那么你就要改一下。对吧,你要跟我这个一样的去改一下啊好,那这边呢就搞定,搞定好以后呢,这边我们去准备造数据啊。CD到OD Mo。DB log里边对吧,这边呢,就Java钢架。好,这边呢,消费者已经是开的对吧,那到这边呢,运行我们的数据,等这边造完啊,那我们直接看这。
37:13
等这边把我们的数据全部都做完。啊,造完以后呢,咱们到这边来去看数据就行了,因为这个数据你注意啊,他在造的过程当中呢,它是不是说造一点写一点,造一点写一点,而是等整个的全部都造完了,统一的去写的啊,所以呢,必须要等这边造完数据以后,你才会看到这个结果。懂吧。啊,生成购物车数据,它是先生成数据,我们的这个价包里边先生成数据,然后在统一的往外写的啊,所以你必须要等这个造完啊,有的人说诶,我造了这么久了,我那边还没有数据,他说卡了,并不是啊,他是因为最后造完的时候是统一写的,批量提交的,能懂吧。
38:17
等这个处理完啊。好,这边走完了。做完以后呢,我们看这边。诶,啊,这个是打印的那个没有操作对吧?啊。这个地方。没有报错,来看这边有数据来了吧,对吧,那这就是我们刚才所说的,首先这个地方。造完之后它应该是还是比较慢啊,卡了对吧,这边有数据了,好呃,这边造完这边才有数据啊,啊这边有数据了,那接下来呢,还有一个问题,我们大家解释一下,你看这边呢,他有一个什么一个警告对吧?哎,他说你这个没有。
39:00
整个的硫的拓扑结构当中没有定义这个operator。没有这个行动算子相当于啊,那么呃,没有任何的操作,因为你有因为点。XQ的嘛,对吧,你有烟v.XQ的啊,这个呢,我们没写Ev.XQ的,它就没有这个东西啊,那因为什么呢?你。咱们在这。咱们在这写了一个什么env点,但是这里边儿我们目前有任何的一个data stream。没有吧,没有任何的一个data STEM,所以呢,它会有这个报错,它会有这个报错。OK吧,啊,它会有这个报错啊,啊,那我们当时写这个是因为我们中间转化为礼物做测试,我们不得不写对吧,那你觉得这个报错呢,你很不爽,可以诶把这个。干掉。对吧,哎,把这个干掉就行了啊,这个给大家去演示出来,对吧,那我们这个需求呢,就没有做这事儿,而且呢,数据最终就生成了,没有问题对吧?好,那我们把这个截掉啊。
我来说两句