00:00
呃,那接下来呢,我们来看这个架构啊,我先打开一个模板,因为word这个它不像WPSWPS呢你打开这个PPT还是蛮快的,但是word呢,如果说你你不先开一个PPT,你直接在这种,因为我这个word呢比较大。对吧,如果说你直接在这里边儿。去打开的话,它会很慢啊,所以一般呢,我会打开一个模板啊。好,那我们来看这个架构,这里边呢,离线跟实时都有啊,所以呢,离线呢,我们也可以相当于回先回顾一下这个离线,然后再接下来看这个实时。哦,他现在把这个做成那个图了。呃,哎,不对啊,他不是图啊,我看啊,怎么又卡住了呢。编辑。这是单个的呀,我看啊,这个东西怎么这么奇怪。
01:01
哦,在这在这。诶。这个好奇怪啊,这个PPT咋这样了呢?我直接点开看看啊。啊,点开大家不太好看,因为到我的分屏上去了,直接点开,我只能只能先编辑。编辑之后,它咋变成这个样子?不应该呀。嗯,他说双击可显示这个东西怎么又出问题了。很奇怪啊,但是没关系啊,我我可以这样做来啊,呃,把这个ctrl a ctrl c拿出来啊。我放在这个里边啊,用这个模板给大家去讲不就行了吧,对不对啊极致。这个就不管了,正常来说展示它应该显示的PPT我可以播放,但是这个还显示播放不了啊,但没关系,我把它粘出来对吧,粘出来放在这,然后呢,我们来看一下啊。
02:09
好,那接下来呢,我们来看一下。啊,首先。还是一样的,咱们数据来源对吧,外部APP啊,就是用户交互嘛,咱们主。稍等喝口水啊。呃,咱们主要的数据来源肯定还是用户,无论是这个日志数据对吧,还是这个业务数据都来自于这个日志会偏多一些。啊,对吧,会用户交互的啊,你想想看你的后台去添加一个这个。商品或者什么样子的,对吧,你后台操作一个这个肯定数据量特别小啊,主要用户啊,他呢会将数据将用户的这个请求呢,发送到Linux。对吧,NX呢业务服务器啊,那就是MY搜狗L写到MYSQL,另外呢,咱们的日志数据呢,也是发到N请求对吧,做负载均衡发到日志服务器,日志服务器呢,它会经过落盘对吧,形成这个文件,形成文件注意啊,这个东西呢,一定在这个日志服务器上。
03:21
同学吧,啊,也就是说我们用from采集这个from呢,是跟日志服务器在一块的啊好,那接下来呢,我们在离线收仓里边要将数据存储到。HDFS。对吧,啊,我密钥采集过来,那么我们是怎么采集的。采集应该比较简单吧,对吧,我们就直接过了,不给大家留这个回忆时间了,应该大家比较清楚啊,呃,那对于我们的这个业务数据和这个日志数据而言,两套不同的采集思路,对吧,先看日志数据啊,日志数据呢,咱们是用。来的对吧,日志文件啊,老板日志文件采集的日志,注意啊,这个采集日志的服呢,它是跟这个日志服务器是同一台机器上的,也就是说这个进程是运行在日志服务器上的。
04:09
因为我们像它只能读取本机的文件嘛,如果你要加载一个文件,你不能说102能读103的文件,这个不行。对吧,你咋写那个文件地址啊,对吧,没有这种远程的地址啊,你又不像HDFS什么分布式的对吧?啊好,那这个一定要注意一下,那接下来回忆一下这边的。From,我们用了什么?South China think想一想。
05:02
诶,Tell s卡不卡,没有think,对了啊,因为我们目标就是要将数据写到。卡夫卡。对吧,所以呢,我们就不需要用这个think了啊,完全不需要用这个think对吧?好。呃,写到要队列里边啊,他俩要利用这个ZZK啊,因为是卡夫卡嘛,对吧,所以利用ZK,然后接下来呢,有第二层对吧?啊第二层用的是什么组件中间。South China think分别是什么?第二层可还记得?我们用的是什么south,什么China,什么think。
06:21
哎,对了,卡卡south China加HD FS think。对吧,I think啊,其实这里面IDS这边呢,有一个小文件处理。记得吧,啊,还有一个小文件的处理要记得啊,三个参数嘛,对吧,像这种优化的你要都要记得,OK,那这个是我们行为数据对吧,或者叫日志数据,诶就采集过来了,到还是DFS。那这边呢。这边咱们用了两个框架,是不是一个呢是全量全量每日全量呢,用data叉啊,其实老版本呢,用的是scoop啊,那增量的呢,每日增量用的是Maxwell对吧,经过卡普卡,然后呢消费诶放到这个FS。
07:11
对吧,这是完全是。这边离先的一个采集对吧,完全一样的,那实时采集呢,等会我们从这里边摘取掉一部分就是实时采集啊好,那么这边呢哈多堡集群,这是只是到HDFS,接下来呢,我们还要导到这个have里边,然后再做计算加工,对吧?那离线输仓,连线输仓这边呢,有分为还是还是一样的,我们刚才分层一样的对吧?Ods原始数据不动啊,保持原源不变,但是呢,启用了压缩啊呃,接下来呢,DM层啊,那这个两层是同时出现的,因为ods都是从ods出来的,对吧?啊,它俩呢可以规避一层,只不过说呢,从这个表的分类上面把它分成两层而已。好好,那接下来呢,是DWS汇总。对吧,啊,那就把它俩聚合,把它俩关联,关联之后聚合形成我们的DWS,最后呢是ADS数据应用层对吧,最后呢,把结果指标放在这儿,这是我们也说呢,那当然呢,嗯,正常的。
08:12
每天的去调度对吧,啊,然后呢,把它导出来做可视化展示,还有对吧,那这边呢。他。啊,每日同步到MYSQL,最后呢做一个。展示。Sugar。啊,那嗯,实时咱们用的这边用的是super set,诶直接写这个在这里边定义这个circle去查询对吧就可以了。啊,这样的一种方式,对吧,这是我们所说的离线的一个可视化,它呢其实是一个BI工具,对吧,你要自己写S才能完成的啊编工具,OK,这是我们离线。这套架构跟这个完全一样,对吧?啊,那实时呢,实时我们想实时里边从这干开。对吧,我这样画啊。
09:00
这半边肯定是不要了吧,因为我说的顶多到卡夫卡,我就应该拿flink来消费做计算了,对吧,而且这个是不是也不要了,每日全量我要来干嘛呀,它导到HDFS对吧?所以嗯,应该这么这么多都不要了。啊,但是这个是ZK,我把它框里边吧,因为你卡夫卡需要ZK对吧,干嘛需要ZK运行啊,那就这。对吧,好,呃,那也就是说前面采集呢,咱们就这个啊,我有个问题问大家,现在你们增量同步,你们现在所学习的,呃,有没有做过滤啊,是过滤出这个16张实时表了吗。还是没有做过滤啊,因为我不知道哪个班改的,你知道吧。因为我提了,因为之前过滤了。有没有过滤,没有过滤是吧。直接就是一个主题是吧,OK啊,那就不用聊了,那就直接它是不是全量全部的表都会同步过来呀,对吧,那这样的话呢,就好呀,我们。
10:01
啊,5.1了是吧?啊,你们已经5.1了,那可以啊,本来我还得讲一下这个事儿的变化啊,你们要是从你们班5.1,那我就知道了。啊,但是也无所谓了,我已经是最后一个班了,我知不知道已经不重要了。对吧,啊好,那这边呢,是。增量同步,诶把所有的表都同步过来,同步到卡一个主题叫topic DB是不是。对吧,叫DB,也就是说咱们现在有两个主题,一个呢是topic log。他过来的对吧,一个叫to DB是业务数据过来的,OK,那这个其实我告诉你啊,他这两个主题就是我们实时数仓的ods层。就够了,对吧,采集过程当中呢,啊,那这个就是我们的实时数仓的ods能理解吗。啊,就是咱们的ods层。OK吧,啊这点啊好,那么接下来呢,我们用flink去消费。
11:02
对吧,用flink去消费它啊。那这边doin删掉了,就不聊了啊,这边实时数仓部分就来了,对吧?啊,那这个本身是。Ods啊,然后用flink去消费这个ods形成我们的什么呢。诶把这个ods拿过来对吧?啊消费过来其实就是它啊,这个图应该画在这更好一点啊好,那这个呢,弗link消费过来形成我们的。DWD和D'M对吧,那DWD呢,还是放哪儿啊。还是放卡夫卡对吧,回去了。而DM呢放base,咱们呢选用fenlix啊,因为写S更好访问一点,对吧,这是我们DM,那接下来又用flink去消费吧,用flink消费谁啊,消费这个DWD和这个维度数据。对吧,和这个维度数据啊,然后接下来呢,形成我们的DWS。对吧,注意看啊,诶把这个消费过来,这个消费过来,然后呢,中间这个是优化优化。
12:05
这个我们到具体再说对吧,因为查询Phoenix呢,毕竟还没有那么快,效率呢没有那么高。对吧,效率也还偏低一点,所以呢,我们。中间加一些这个优化啊,那这个其实对应的就是九点啊,10.9那个需求里边的。就是我说的整个项目里边最难的那个需求啊,还记得吧,10.9。啊,它是最难的一个需求啊,所以对应的是它啊,那我们知道一下这个里边要做很多的优化啊,就是搞得很复杂啊好,那它呢,就是参与为表对吧,消费DWD,然后呢,形成我们的DWS层。形成咱们的DWS对吧,这个呢放到克号的。啊,放到克里那中间都是用的flink去计算的,对吧?啊好,那接下来呢,DWS要形成我们的ADS,那就是写circle呗,这就写circle口,而ADS其实就是一个数据接口,数据接口最后呢,把这个接口对接到这个。
13:03
输个上就好了,然后他就调了一个接口,因为大家呢,在Spark那个案例当中是写过接口的。对吧,也就是说给你一个地址,然后呢,你访问这个地址,给你一个字符串对不对?好,那这个字符串呢,它里边有包含我们的数据啊,它就可以展示,那也就说诶给个字符站团队能展示吗?注意他要求格式。啊,就是你得按照它的格式来,对吧,你随便写一个ABB,它它怎么认上对吧,它其实这个字符串呢,是个切分串,你得按照格式,K是什么对吧?Y6写什么,K写什么,Y6写什么,你按照格式来,它就能够展示出来了。啊,他就能够自己去展示出来这样的一个情况,对吧,所以呢,这是我们的一个架构,所以我们刚才说了,在聊这个架构之前呢,我们先聊了一下什么,诶每一层选用什么样的框架。对吧,我们先聊的是这样的一个事情。啊,那这样接下来看这个图就简单了,对吧,无非就是说诶数据流呗,画一画对吧,但是大家呢,未来画的那个架构图不能这样啊,这太简单了,太粗糙了,对吧,你这这这一层里面表明都没有不行啊,你得画的更复杂一点,而且这一部分你不用画,离线不用画了,你把实时画出来就好了。
14:13
对吧,是这样的一种情况,OK,这是这一点啊,那这里边的更细节一些,我们就先不聊了啊,因为现在你根本根本都不知道我们每一层里边有哪些表,要做哪些事儿,对吧,这个更细节的就不聊了啊。
我来说两句