00:00
好,那么接下来呢,我们看一下这个实时架构。啊,看一下有什么区别对吧,首先。第一个前面都一样。这个东西框到这儿了,对吧,这个一样我们就不聊了,因为还是这个外网APP到N,然后呢,业务服务器日志,服务器落盘,然后呢放到MYSQL,好这些东西呢都是一样的,接下来有个点不一样了,首先看这。离线受伤当中,咱们是不是用的是库来导的。对不对,但是现在做实时处理了,我们还能用scoop吗?肯定就不行了,因为scu呢,它原理是MR。对,太慢了,对吧,啊太慢了,不可能我们用这个SCO来等,所以呢,我们要用一个。Canal。Maxwell或者说flink CDC这种方式来导,而且这三个都是跟canal的原理是一样的,也就是监控log的方式。
01:11
他是通过监控并log的方式来做到这个事情的。对吧,所以它可以实时的读取这个数据,哎,因为啊啊行级别啊,对了啊,都答出来里边我们blog开启的时候要用什么级别的问题了,对吧,有行级别,还有语句级别对不对啊,那肯定要用行级别,因为我们要数据做数据分析,对吧?啊,我觉得这个时候应该是不是给这个大佬是不是要扣一波666啊,这个666不是给我的,给倪总的。啊,给李总的。好,那这个呢,是我们实时数据的一个导入,这个地方首先一个不一样了吧,但这个改变呢,呃,比较简单一点啊,比较简单一点,那肯定可想而知,就很简单的一个事情,对吧?我们肯定要实时导入,肯定不能用scoop,而且大家之前用canel,就算我们不讲这个弗林CDC,或者不讲Maxwell,那大家也都知道讲生产环境当中,你要用的时候肯定会选用canal,不可能选用scoop,对吧?好,那这个呢,将数据发送到卡夫卡啊,那此时卡夫卡呢,是我们的ods层。
02:21
是我们的ods层,那另外还有一个地方不一样在哪呢?之前离线数仓当中我们是不是用。From读取这个落盘的文件来。放到卡夫卡里边的,就是我们刚才说了叫开加S加卡布卡山的来实现的这个功能嘛,也就是说离线的时候呢,我们用的是F好,那这个地方我们从日志服务器直接将数据发送到卡夫卡了。那这个有什么好处呢?我们这样做的好处是什么?
03:08
对,快。减少了磁盘IO吧?追求时效性啊,没问题,其实就是更快了啊,更快了。好,那这种方式有没有缺点呢?对耦合性高。耦合性高,不能过滤,不能过滤的话,这个点其实还好啊,有同学想起来了,当中我们加了一个。拦截器过滤非阶层数据对吧,那这个过滤呢,咱们可以最后对ods层再进行过滤嘛,对吧,这个倒还好,你前面做跟我后面做这个没什么大的差别啊,更重要的就耦合性高,两个系统会互相影响吧,对吧?啊,假如说卡不卡挂掉了卡卡挂掉了日志服务器呢,这边肯定会出问题,如果说用之前的方式。
04:13
啊,那完全不会影响到后台业务,只是大数据里边可能出现点问题,对吧?啊,但是这种情况呢,其实还好,因为对于卡卡而言,我们是。集群高可用的,你不可能说机房整个着火了爆炸了,对吧?嗯,只要不是这种情况,那我们卡不卡挂一台是不是也没问题啊。是不是?能理解这个事儿吧,对吧?啊,所以它的耦合性更高了,确实生产环境当中有时候呢,追求系统的稳定性,哎,不希望这个耦合太高,对吧?啊,所以呢,有可能也采用去采集过来啊,那我问大家,我们这个地方我用去采集能不能行啊。我我不走这条线,我用from去采集,能不能能不能做到。
05:08
可以的吧,啊对,这个是完全可以的啊,这个是完全可以的,完全没有问题的啊好,那接下来呢,我们继续啊,继续往后走,呃,接下来呢,我们刚才数据是导到了这个ods啊,那通过这个blog读过来的放到ods对吧?啊,通过这个日志服务器发过来,我们放到ods,那么接下来呢,我们要做一个事情,要把它放到DW拆成明细,像行为数据当中,我们可能有这种三个五个日志,有这个启动日志。动作日志,曝光日志对吧,还有错误日志,页面日志啊,这些这五种,那我们要拆成五个主题吧,明细要拆开,在离验收当当中一样的,你把一张表的数据呢,拆成了五张表啊,那另外这个blog读过来的数据它也是统一的啊,也就是说ods其实我们只有两个主题。
06:02
只有两个主题,行为数据一个主题,业务数据一个主题,啊,我们只有这两个主题。啊,只做这两个主题对吧,所以呢,在这个时候我们DW层呢,要用link将卡普卡ods数据消费,消费之后呢,采用我们上回说的叫测输出流。我们用测殊热流进行一个分流。分到不同的主题里边。对吧,DWD层,那同时对于我们业务数据里面,除了一部分要放到卡夫卡的DWD4时表,对吧,那另外还有要放到。H啊,要放到h base里边,也就是说我们的维表数据。是不是啊,要用到这个维表数据啊,是这样的一个情况啊,好,这是我们看DWD,那接下来呢,我们对DWD用Li去消费DWD的主题数据啊,然后呢,中间可能会关联为表,也就是说再去访问h base数据,形成我们的DWM层,然后还是同样的用link。
07:13
用那个消费DWM和DWD。再给我们写到click house里边,当然最后结果库啊可以选,可选的类型有很多,我们选择的是click house,我们当然最后也会说为什么选用click house,对吧,像之前大家在Spark streaming的时候用到了这个ES用到,而这个地方呢,我们选用house,那我们也会去说这个点。啊,这个要注意一下啊好,那之后呢,是对接接口啊,数据接口做可视化。啊,做可视化展示对吧,最终呢,我们形成一个。大的图啊,就是那个可视化的一个图啊,是这样的一个过程啊,呃,那大家要注意啊,我这边呢,PPT是一个大的流程,那未来我需要说一件事情了,我上午不是说了,大家最好要去画图嘛,对吧?呃,那梳理逻辑你可以。
08:06
用这个工具或者不用这个工具,这个无所谓,你自己选对吧,你在写代码之前,你自己梳理逻辑,你要做这个事儿,但是在学完每一块内容之后,你最好用这个工具去画图。画什么图呢?就类似于这个整个的架构图,现在呢,我是把ods DW d d wm呢放在这儿的,但我跟大家说一下,你这个图应该怎么画啊,首先你前面数据流我就不说了,对吧,一块呢是买circle。一块是买circle,一块呢是我们的磁盘或者是日志服务器吧,这个是日日志服务器。这个是业务服务器两块对吧,那接下来呢,我们通过。我们的fli CC canal Maxwell也好,随便对吧,然后这边呢,通过直接发过来,还是用from去磁盘读取数据也好,那一定是到我们的卡夫卡了。
09:06
对吧,这边呢,你可以写一个卡夫卡,好那我们今天说了是有两个主题的对吧,两个主题的,那这个呢,你可以写,哎,这个是业务主业务主题对吧,叫DB,这边呢是行为数据叫log,好两个主题,把主题的名字写上,那后接下来是分流,分流呢中间我们是不是程序对吧?最后呢又到我们的DWD。卡夫卡,这个是卡夫卡。还有一个DA对吧,这边是好,你要写清楚,从这个主题出来,诶又到卡巴那几个主题,你把主题的名字也写在这对吧,同时在这个是弗link程序,你不要写的很小,你也搞写的大一点,把我们当前这个弗Li格程序当中的重点或者难点的内容在这个框框里边标注。或者说画一个简单的逻辑图放在这对吧,你自己在写代码之前,你要整理的逻辑图把它放在这儿,同理这个地方我们也是用弗Li格消费出来,然后呢,有一部分到卡夫卡,有一部分到H维表到实时表到卡夫卡对吧,那一样的在这个中间呢,你也把这个中间过程,中间的重点难点写一写,写一写,那同样的在后面还有后面还有我这画不下去了啊,后面还有再接着消费哪几个主题对吧。
10:33
数据形成我们的DWM层,DWM层名字主题名又叫什么,然后程序。中间的重点难点又是什么,对吧,一直到最后可视化,你要把这个整个的全部画下来,我是做PPT,所以全部画在一块了,那你应该把它每一段每一段全部分开。一定要做这个事儿,因为第一你未来在面试之前,或者写简历的时候,你要复习,那如果说有了你自己画的图,复习起来简单很多,你不需要去看视频看文档的,你只要这一张大图,只要你写的够详细,这一张图足以。
11:13
这一张图就够了啊,第二个点,其实我手上有很多,每个班到了最后我是要收的啊,课讲完之后,这个图我是要收的,我这个手上有很多有很多这个图,我为什么不发给大家,因为这个图最终是你自己看人家做的。再好,没有你自己画的好。你自己图可能诶怎么没有人家的好看,或者这方面,但是你自己看自己的图,吸收的效果一定最好,而且你在画图的过程当中,也对于整个项目做了总结,做了整理。注意这个事一定要做的啊,一定要做的就是整个的一个点啊,一定要清楚,OK吧,这个事情不要忘了。
我来说两句