00:00
然后紧接着呢,就是把咱们咱们上边啊,咱们刚才分析完之后用到的这么多东西呢,给它组织起来啊,然后呢,哎,去先设计一个,呃,咱们整个项目的一个完整的数据流程图啊,咱们数据从哪来啊,然后呢,咱们组织最终到哪去啊,整个流程图咱们得搞清楚来,那现在把这个图点开看一下啊。来,我们看一下这个图。好,那现在大家前面看到的东西呢,都是什么啊,都是跟咱们数仓关系不是特别大,这是我们的那个业务系统,就是用来支撑咱们那些,呃,那个比如说用户的各种请求的那个业务系统啊,这是它啊啊,那还是还没有,诶到这儿这一大堆东西啊,诶这都是跟我们业务系统相关的东西啊,那我现在先不看数仓,先看一下这个业务系统。呃,业务系统的这些都是谁呀,都是你像咱们如果假如咱们学学这个Java对吧,那我加VA1需要做项目,那我做项目的话呢,我就需要用到什么,需要用到,呃,咱们这儿看到的这些东西啊,来我们看看有什么啊。
01:08
首先这俩东西呢,就是我们用来运行业务系统的这个服务器。啊,因为业务系统咱们是不是也得有相应的服务器去跑咱们这个项目啊,对吧?呃,那个项目跑起来,然后呢,我们客户端呢,就可以各种请求发到这个诶服务器了啊是这样的过程,那咱们的业务系统呢,呃,目前这个电商的一个业务系统呢,咱们采用的架构是这种分布式的架构,是分布式的架构,所以这呢,我们有这个多个这个呃业务系统的服务器啊,然后呢,咱们这呃是使用的这个boot对吧?啊boot啊,然后我们前边这些东西都是咱们的客户端。啊有呃,咱们的下边不是客户端啊,这个不是先不友看这啊,咱们看这啊,这是咱们的客户端,那客户端呢,我们有PC端啊,有移动端web APP啊,然后小程序啊,对吧?啊,这就是咱们客户端,那这是我们的业务服务器,那正常情况下咱们客户端是不是应该是直接请求咱的业务服务器啊,对吧,但是咱们这呢,是一个分布式的啊分布式的,那分布式的话呢,那你去请求的时候,你怎么知道你请求哪一个呢?对不对,那谁来进行这个分配呢?谁来分配。
02:18
有这个东西nnux呃,Nnux呢,它是用来它是一个用来做这种软件负载均衡的一个东西啊,当然它也可以作为一个外部容器啊,这个东西咱们呃大概了解一下,那这个就是在这儿呢,它的作用是做负载均衡,非衡就是客户端的请求,诶,我会给它分散到不同的咱们的业务服务器啊,是这样的一个作用啊,这是咱们的业务系统,业务系统呢,这个呃,在公司里边不是我们负责的啊,这是咱们Java的同事去做的,而且咱们到公司之后,公司的业务系统肯定是已经存在的了啊,就已经跑了好几年了啊,然后去了咱们给他,给他搭一个出仓,这更多的是这样的一个场景啊。好,那接下来我们看剩下的一些内容,我们先看这个位置啊,先看这个位置。
03:02
他这叫叫什么叫做日志服务器对不对?日志服务器,这个日志服务器呢,就是前面咱们讲那个,呃,日志的时候,咱们提到的就是专门用来存储用户行为日志的服务器啊,那它这个日志怎么来的呢?诶再看这。你看这有什么web APP,哎,前端买点哎去收集业务数据,这个所谓的买点是哪俩字啊,就是这俩字,哎埋掩埋的埋点就是点的点啊,就是点的点啊,就这个点啊,然后这个买点到底是怎么去理解,其实所谓的埋点就是啥。前端买点就是在你前端的这个页面上面去嵌入一些前端的这个代码啊,这个代码是干什么用的呢。就是专门去收集你在这个浏览页面的过程当中,你所操作的的这个行为,或者说你所看到的东西啊,他会把这些信息呢,全部收集下来,收集下来之后呢,诶怎么办呢?通过一个请求发送到我们的日志服务器,就按理来说,如果说我只有一台日志服务器,那我是不是直接发给他就行了呀,对不对,那假如说我的公司数量很大,那我的日志服务器也是可以有多台的,也有多台,那有多台是不是也需要借助一个NX做这个所谓的负载均衡了,是这样的啊,那所以说那这个就是咱们这个前端买点的这个数据啊,那有前端买点,那其实啊,我们还有一个概念,就做后端买点。
04:31
啊,这其实还有一个后端买点啊,这个所谓的后端买点指的是什么?买点就是什么?就是意思就是嵌入一个代码对吧,然后去收集一些行为啊,收集些行为,那其实这个所谓的后端买点呢,就是说我们的代码呢,现在不是埋在前端页面了,埋在哪儿啊,埋在咱们这个业务系统的后台,也就是我们的业务服务器里边,哎,埋在这里啊,那如果说我前台需要向后台发一些请求,那我怎么办啊?哎,就把你请求的这个行为给你记录下来,以一条日志的方式写到文件当中。
05:07
啊,前端文件当中啊,但是啊,从这个买点的这个内容上来看,我们前端买点所收集的信息,那肯定要比后端买点收集的信息要更多一些,嗯,能理解吧,啊,因为我不是说我所有的前端的所有的行为,我不是说都会给后台发请求的,只有什么时候才会往后台发请求啊。我需要我后台组织数据,或者我需要从后台拉取数据,我是不是才需要给后台发请求啊,对不对,那假如说我在这个页面上,比如说。在这个页面,我停留了多长时间?这个你从后台你能获取到吗?呃,这个呃,一般是不好获取到的啊,那比如说我在页面上,我这个滑动的这个行为,滑动的这个操作,你在后台你能获取到吗?那也获取不到啊,那但是你在前端能不能收取到这些行为啊,那那是可以的,那是没有问题的啊,是这样的啊,那就是比如说咱们是一个APP嘛啊,我现在滑动嘛啊,就是滑动这个页面,诶你在后台你获取到,但是你在前台是可以的啊,也就是说我从前台获取到的行为要比咱们后台要更多一些啊,有个东些,而且呃,前端获取到的用户信息要更多一些,比如说我现在用户我所处的这个地理位置啊,我用户目前的网络情况对不对啊等等等这些东西我都可以获取到,但是在后台这些是获取不到的。
06:30
啊,那所以说呃,更多的我们还是使用这种前端买点更多一些啊,这更多一些啊,后端买点咱们就了解一下就行了啊好,那我后台呃,咱们的数据,呃,我们的数据呢,其实还有另外一种来源啊,就是刚才咱们讲的是这个日志对吧?日志我们更多是采用前端买点去获取啊,那后边我们还有一种日志,还有一种数据叫什么,就是咱们那个买soq里边的那个数据库里边数据对不对,这里边存储的什么呀,存储的比如说用户信息,那这个订单来支付加购物车等等这些信息都在这里边存着啊,都在这里存着,那这也是我们的一个数据来源啊,那所以说这个相当于把我们的业务系统给大家介绍一下,然后我们数据来源又回顾了一下,好,那接下来就是咱们这个书仓的东西了啊,来往下看。
07:16
那这文字介绍咱们就不再看了啊。那首先我们数仓第一步就是搭建采集通道啊,呃,我们现在呃数据来源有两个,一个是日志,一个是呃关心数据库对吧,那日志呢,我需要采用谁去采集呢?使用啊,然后大家要注意啊,能采集的文件只能是什么。只能是本地磁盘文件上的文件,对吧?啊,它不能远程采集,所以说你的应该部署到什么地方。是不是日服日志服务器上啊,你的日服务器在哪,你的录就要部署在哪,或者说你录部署在哪,你就得让他把日志给你发到哪啊,只有这样才能采集到啊好,那接着往下走,下边呢是呃,咱们部署的两台辅动,两个日服务器,咱们就两个辅助,然后往下走。
08:04
那数据呢,我们前面讲了,我们这需要使用一个总线对吧,数据总线卡夫卡啊,那卡夫卡作用还可以起到缓冲消峰的作用啊,那我们把数据送到卡夫卡啊,OK,那再往后呢,我们就得看是离线开始实时了,对吧?如果是离线呢,那我就把数据给它放到哪,放到HTS啊,那我们现在把数据从卡夫卡放到HDFS,咱可以怎么发啊?怎么放?自己写API行不行?可以吧啊,我只写API,我可以写一个卡夫卡的消费者API,然后呢,再写一个HDFS的那个IOAPI对吧,对不对啊,然后把数据写到HS能不能实现,肯定可以啊,肯定可以啊,肯定可以,但是呢,我们一般不会这么去做的啊,就是你写的话呢,可能写的不好,对吧?那我们用什么呢?用一个现成的flu当中咱们有啥。有卡布卡S对吧,那还有什么有HD FS think,那你直接用一个flu是就搞定这个问题了呀,那其实啊,Flu咱们如果采用卡夫卡S,采用H加YZ,其实这个东西用的跟刚才咱们说的是一样的,Flu里边卡夫卡S就是啥。
09:14
弗鲁姆卡,卡萨斯本质上就是啥,它代码里就是什么。就是卡夫卡的消费者呀,对不对,那你要是往卡夫卡里写,是不是得有卡夫卡think呀,那那个think就是啥?就是卡夫卡生产者卡卡找do,其实底层源码就是这样的啊啊那那如果说你要是hdf think呢,他往HDF上写,他是不是也得调用HDFS那个IO的API啊,对不对,其实底层都是一样的,就只不过人家写的可能要比咱们更好一些啊,所以咱们用一个现成的就行啊,这是咱们离线的一个步骤啊,那接下来咱们涉及到哪呢?还得采集MY思Q的数据,对吧?MYSQ数据怎么采集呢?使用斯库,那咱们解了啊,啊,那现在数据相当于已经到了hfs了,那只要到了HTFS,那咱们就能够想办法把它放到have表里了,对吧?啊,然后呢,我们去进行分层建模,一层一层的。
10:03
啊,完了之后,后边呢,我们会有这个报表,那报表我们前面讲了,不会让他直接对接出仓,那对接谁呢?对接买circle,所以咱们还得需要把have的数据往买搜后再导一下吧,对不对,那这个导也用谁呢?也用scoop scoop可以进行双向的传输啊,所以说咱也用MYS,也用scoop啊,那到了MYS库里边,咱们就可以对接报表系统做可视展示啊,这是咱们整个离线数仓的一个数据通道啊,就是从最开始的这个位置啊,然后呢,一直到他们最终的结果啊,这一套流程的是需要打通的啊啊那再往上呢,上面给大家列出来的几个及其查询框架,这个到时候咱们讲一讲就行啊啊,这是咱们的离线啊,那前面也说了,我们的实时跟离线是不是在公司里边咱们共用同一套采集通道啊,对不对?那如果说我要进行实时分析,那怎么办啊,我直接从卡夫卡对接是不是就行了呀?啊,直接卡夫卡对接啊,那实时项目当中呢,我们可能会用到这个h base。
11:01
啊,是这样的,那实时咱们这儿就不展开讲了啊,实时的架构肯定要比这个更复杂一些,咱们这儿就先不展开讲了,到时候大家学完卡夫卡,学完s Spark这些东西之后,做实施项目的时候呢,到时候老师会给大家详细的讲这个架构啊好,那咱们现在重点就是说把我们自己这一套离线的先搞清楚就行了,等大家做完实时项目之后,再把实时项目给它补充到咱们这个图里边来啊,然后这个整个的一个大图,就是我们,诶咱们整个的一个实时加离线收仓的一个架构图啊好,那咱们现在这个流程设计就完成了啊。好,那这里边还会用到其他的,比如说Atlas语言数据管理,Griffin质量监控,杂做集群监控啊OK,那我把视频录一下。
我来说两句