00:00
OK啊呃,下面我们再把这个架构的一个设计啊,给大家这个介绍一下,那首先我们还是先对比的说啊,先看一下这个离线的架构。啊,这个大家应该也是之前都已经呃接触过的啊,可能这个之前看的图呢,跟这个稍微有点不一样啊呃,这个是我自己画的一个这个图啊,就稍微把它又调整了调整啊,但其实大体上应该都差不多啊好,那我把它打开吧,嗯,这是一个。PPT啊,把它打开啊。啊,我我先打开一个空白的啊。好,这样打开会快一点啊。行来大家跟着我一起来看啊呃,那我们首先要先去明确我们这个数据源,对吧,你这个数据是从哪来的啊好呃,大概举了几个例子啊,像那个什么现在比较主流的这个移动端啊,其实现在这个数据应该是移动端的比较多啊,就是这个APP。啊,比如说像我们是做了这个电商对不对啊,那电商的话呢,像这个什么京东啊淘宝呀,对吧,现在这个什么拼多多。
01:02
是吧,各种各样的电商啊,都很多很多啊OK呃,那这个移动端过来的数据,还有就是这个配置,那配置的话一般就是我们这个网页端了啊,就是这个PC端,比如说打开电脑,然后呢,访问一下这个京东的网站,访问一下这个淘宝的网站。对吧,好,当然除了这两块之外的话呢,其实呃,我们将来这个在企业中可能还会遇到一些什么,就是从一些通信设备里面过来的数据。啊,通信设备里面过来数据,他可能就是我们自己看不到的一些东西啊,你比方说给大家举一个例子啊,像这个一些,呃,就是。呃,举一个这个吧,就这个车联网大家应该都知道啊,车联网啊应该都听过啊,对吧?啊不说这个话题吧,呃,就就简单举个例子啊,就是呃,应该有同学知道啊,就像那个现在这个开大车的那些人哈,就开那个半挂车大车的那些人啊,他们其实这个车辆都会安装一个设备。
02:01
呃,那个设备它会在这个固定的时间啊,就是一定的这个时间周期,然后呢,去定时的去发送数据。呃,发什么数据呢?发送一下你这个车辆的一个行驶状况啊,就现在这个行驶的路线,然后呢,行驶的位置,然后呢,这个行驶的这个时间。能听懂吧,啊就是等等一些信息,他可能是每隔几秒钟啊,或者什么每隔几分钟,然后呢,会去什么发送一次啊,像这个也是一个数据。明白吧,你比如说那我将来想去汇总啊,想去统计这个,呃,道路的状况对吧,或者什么车辆的一个什么这个实行的状况啊,那我什么都需要什么,基于他这个发过来数据来去用,那你看像这种的话,就是我通讯设备里面发过来的。对吧,通信设备发过来的啊,当然还有很多啊,还有很多啊,我就呃不再给大家挨个去举例子啊,现在我们主流的应该还是对于电商来讲的话,还是这两块,明白吧,啊还就这两块啊,行啊,这是我们的这个数据源,然后呢,呃,我们所产生的数据呢,还是两种类型的数据啊,第一种类型是我们的这个日志数据,那我们一般会把它发到这个日志服务里面。
03:06
对吧?啊,发到这个日志服务器啊,就是我们会有这个专门的日志服务器,然后呢,去接收你的这个日志数据啊,那一般我们都会存到什么呀,存到这个log file就是日志文件里面。对不对啊,存到日志文件啊行,然后呢,第二种类型的数据呢,就是我们的业务数据了,那我们的业务数据的话呢,通常都是在我们的这个业务系统里面处理完成以后呢啊,存到你的什么这个业务数据库的啊,比如说呢,就存到我们的MYSQL。对吧,当然呢,呃,存别的数据库,比如说Oracle什么的也可以啊,但现在这个其实比较主流的还是买SOHO比较多。啊,因为这个毕竟是开源的,然后呢,我们这个可定制化性的比较高。啊,就这个一些大厂啊,它基本上都是什么自己去定制的啊,自己去什么搭建,自己去定制啊,他们一般不会这个花钱买坠手知道吧,你比如说你想使用这个Oracle,首先第一个你要花钱对吧,而且你花了钱以后呢,他还不让你什么随便去定制,就你只能按照人家的要求去使用。
04:01
啊,你就玩不出什么各种花了。啊,所以这个大厂就是这个这个一般都是什么,自己去搭建这个买S的这个集群,然后呢,自己去研究,自己去改造,毕竟开源的嘛,对吧,说现在这个比较主流的还是这个买so货比较多啊好,那我这个数据过来以后,接下来啊,就是我们知道了,诶你的数据放到这了,那接下来就是我们放我们这个发挥的时候了啊,我们的主场就到了,那我们首先要干嘛呢?先去把数据给我拿到我的处理平台中。怎么拿呢?对于我们的日志数据来讲,那我们现在比较主流的还是使用这个,然后呢做一个采集。对吧,当然啊,我说的都是阿帕奇这一套啊,阿帕奇这一套啊,因为现在我们讲的都是阿帕奇这一套,那如果说你用的是别的这个生态啊,或者什么别的这个什么技术站,那就不一定了。对吧,啊,那就不一定了啊,比如说呃,我们现在使用的是这个什么叫elk这个技术站。对吧,啥叫elk呢?这个E就是ES,就是那个elastic search key就是K班的这个L呢叫logte,对吧?哎,Lockte就他这一套呢,也能去做这个大数据的一个什么简单处理。
05:05
对吧,那如果说你要用这一套技术站,那我就不能使用了,那我肯定会什么优先选择locktech去做这个数据的一个采集。对吧,但如果说我用的是这个阿尔法提这一套,那我觉得肯定还是先选嘛。对吧,行,呃,这个我们现在的方案是通过呢,把数据呢,先踩到我的卡不卡中。对吧,我会经过这个卡不卡呢,做一层这个缓冲啊,然后呢,再来一层,然后呢,从你的卡不卡中把数据呢,最后呢,灌到我的HDS中。是这样的吧,对吧,大家的方案,但现在的架构应该还是这样子的啊OK,行,这是对于我们的这个日志数据的一个处理啊好,那我这个业务数据怎么走的呢?业务数据呢,是这样子的。首先我们会对它有一个实时采集。对吧,什么叫实时采集呢?就是你的数据发生变化以后,我会实时的通过什么,通过这个maxcel做一个采集,然后呢,还是先给到卡夫卡。对吧,然后给到卡夫卡以后呢,还是一样的,然后呢,再通过这个呢,把这个数据呢,采到你的HDFS中。
06:06
对吧,这是对于我们这个实时采集啊,但是我们这个买SQ中啊,它会有这个历史数据对不对啊,会有历史数据啊,就是大家这个所谓的什么第一次啊,就或者第一天你要来一个什么全量同步对不对,后面都是增量的,然后前面都是全量的啊,那这个全量我们怎么做呢?那这个技术也比较多啊,你现在你们应该用的是这个data叉是不是。对吧,通过这个data叉,然后呢,把这个数据呢,直接导到这个HTS啊,或者说呢,通过这个什么SCO呀,或者什么什么开啊都可以啊,当然还有别的等等等等啊,就这个呃,能够干这个活的这个东西呢,还是比较多的啊,逐渐还是比较多的啊,那我把它导到这个HDS。啊,其实啊,大家注意啊,我们就不用他们也行啊,这个Maxwell呢,它也能帮我们去做这个全量导入。啊,他也能做啊,就它里面有一个那个bootrap对吧,大家应该也接触过啊,那个bootrap它是可以帮助我去做这个全量导入的,就是我可以什么直接把你买赛后的数据,然后呢,某个表的数据直接全量导。
07:06
对吧,啊,但是呢,能不能直接导到你的HDR版啊,这个你得去看一看。是吧,你先倒到卡普卡,然后呢,再往AG那边放也可以。是吧,就看你怎么去设计了啊这个。好行,呃,那最终我们的数据呢,是放到你的HS,然后接下来的话,我们就可以去做数据的处理了吧,对吧,就是这个环节呢,其实还是属于我们的采集的一个环节啊,就数据的一个什么采集好,那你把这个数据采过来以后呢,接下来。我们就要什么,通过我们书上的一个主体,这个主体其实就是have。对吧,这个主体就是一个have啊,那我们通过什么书上的主体have,然后呢去做这个分析,那我们会有这个书上的分层啊,就分了很多层,什么ods呀,Dim呀,DWD啊dwsads对吧,当然我还画了个点点点点点,因为其实现在我们这个分层呢,相对来讲还是比较这个通用的,还是比较合理的。但是呢,其实你将来到公司以后,你会发现很多公司呢,分的可能比这还多啊,这个七八成的都是有的。
08:07
能明白吧,所以这个分层呢,他也不是一个固定的一个答案。OK吧,啊,也不是固定的啊,行,那甭管你这个分了多少层啊,反正你这个每一层你肯定有什么有这个具体要做的事儿。对吧,像这个是。就是你的原始数据层,然后这是你的维度,对吧,这是你的什么实时表。是不是,然后这个是做什么周聚合,这是一天周聚合。对不对啊,就看你这个怎么去划分这个任务了啊好,那经过我们这个数仓的这个分层,然后呢,你的每一层呢,去完成这个对应的工作,好,那这个最后呢,数据到了这个ADS以后呢,我们就可以什么做分析了吧,对吧,那这个做分析的话呢,呃,目前呢,大家是把这个数据呢出到了这个MYSO中。是不是就最后把这个汇总好的数据啊,这一应该是一天做的聚合对不对,好把聚合好的数据呢,放到这个买中。啊,那其实哈,我们除了可以往my sol放,我们还可以往另外一个主件中去放,找o lap主件。
09:04
这个o lap的话,大家应该之前也或多或少听说过啊呃,它是这个面向分析型的这个数据库叫什么联机分析处理。对吧,那么当然还有一个什么叫OLTP。这叫什么联机事物处理,就是它主打的是事物。能明白吧,像这个买搜狗就是典型的oltp。好,那像我们别的像这个kidding登录一对吧,我们后面讲的ES或者什么click house,他们都是属于这个op,就他们主打的是分析啊,他们的分析能力很强哈。特别是什么,对于这个大数据的这个分析能力很强悍。就是其实我可以说把数据往它里面放都可以啊,当然放到my soq呢也可以,因为MY搜狗它其实说白了也有一定的这个分析能力啊,也有一定的分析能力。对吧,好,那接下来做什么操作呢?接下来就是。我们可以去写数据接口。对吧,这个是你们在这个离线呃,舒畅里面没有接触过的啊,这个我们在实时项目中会接触啊,就是我们可以去给他写写数据接口,然后呢,我的数据接口呢,会从你的olap或者是从你的买搜Q里面去出数据,然后呢,将来的话呢,我的可视化的系统啊,或者什么第三方的系统啊,都会什么调我的数据接口,然后呢去拿数据,然后呢去做他们这个想要做的事情。
10:22
明白吧,啊,当然呢,呃,我们目前所做的是通过这个B呢去做了一个分析啊,像你的什么super。对吧,像我们后面用的这个Kan啊,就什么直接通过这个BI工具,然后从你这个现有的这个数据源中,比如说你的呃这个ES中,对吧,像像这个superet,你们是什么从这个MYSQL里面拿的数据,那像我们后面这个key的话,我就什么从我的ES中的去拿数据。能明白我的意思吧,啊,所以这个都可以啊,就这这一块内容,你们应该是现在没有做的啊,还有这一块内容也是没有做的啊,你们就是只是把数据呢放到my circle,然后呢,通过这个superet呢去出了一个就出了什么各种图对不对啊,就完事了啊,但其实我们是可以把他们加上的。
11:05
理解吧,可以把他们加上的啊,就看你有没有这个必要了。理解吧,啊行,那这是我们的这个,呃,离线的这个架构。好了,从这个数据的一个采集啊,这一部分算是数据的采集,然后这个是你数据的一个什么,就是数仓的一个什么处理,对吧,后续呢,这是你的什么应用啊,数据的一个什么应用。就是你把数据采过来,经过我的数据的处理,最后呢,什么到达这个应用层。对吧,就出了这个结果了,就是你这个分析出来结果是什么样子的,我就给你什么都出出来了。OK吧,啊,这个架构大家一定要知道啊好,这是我们的,呃,离线架构啊行。
我来说两句