00:00
那我们今天啊,先说这个第一个文档啊,就是ODS到DWD。的一个处理啊,那么这个我们主要做的就是数据的采集和这个分流操作啊,我们把它打开。OK啊,来吧,呃,我们一起来这个看一看啊呃,然后我们这个第一层的话呢,主要做的事情呢,就是数据的这个采集和这个分流啊,就是我们要研究的就是你的数据呢,是从哪来的。对不对,你是一个实施项目,那你这个处理的数据哪里来的,那你数据来了以后呢,你应该做什么处理。那肯定我不能够什么直接去用啊,我一定要什么先把这个处理数据呢,去做一些什么转换啊,做一些什么这个拆分啊,该聚合的做一些聚合啊,所以说我们这个第一个文档,我们主要完成的是采集和分流啊,啊来看一下这个章节啊。
01:01
呃,第一章的话,我们做简介啊,简介就是给大家去介绍一下这个实施项目。是吧,那你得首先知道这个什么叫做实时呀,啊,那你知道了以后呢,我们再去这个做具体的工作啊好,那我们这个具体的工作呢,有两个,一个是日志数据的采集和分流,一个是业务数据的采集和分流,啊那就说白了,我们,呃,在这个实时项目中,我们所处理的数据呢,跟大家这个离线啊,离线那个数仓当中处理的数据是一样的。啊,也是两种类型,一种是日志数据,一种是业务数据。对吧,大家在离线的时候呢,也是把他们两个这个单独去做了这个处理,然后我们在这个事实中呢,也是把他们两个的这个单独来去做这个处理啊,先去处理这个日志的,然后再去处理这个业务的,对吧?啊行呃,那整体就是三章的内容啊,然后这个第四章总结的话呢,是到时候这个要求大家自己去做总结啊,说这个第四章我是没有给任何东西的啊,需要你自己去做一些总结的啊,等我们讲完以后。好吧,那我们先从这个第一章来说起啊,呃,第一章的话呢,我们主要是简介啊,主要就是给大家去介绍一下这个,呃,计算的这个方式啊,有什么离线计算啊,对吧,有什么这个实时计算啊啊,他们之间的这个区别是什么啊,怎么就去定位一个它是离线计算了啊,怎么就定位它是一个实时计算了啊把这个大家知道一下啊,然后再一块内容就是数仓架构的一个设计。
02:26
OK吧,好,那这个离线架构呢,我们是怎么设计的,然后现在我们做的这个实时的这个架构应该怎么去设计。好吧,好,那把这个介绍完成以后呢,最后一个就是项目的需求啊,就是给大家去简单展示一下我们整个这个实施项目啊,我们最终要做成一个什么效果。就是你心里面有个有个样子对吧,别这个学了好几天了,你都不知道我们干什么事儿啊,那不好啊行吧,来先来看这个第一小节啊,就是离线计算。呃,这个离线计算啊,呃,大家应该都还是比较清楚的啊,因为你毕竟都已经搞过一个项目了,对吧,说对这个离线计算的一个理解呢,还是比较到位的啊好,那我们一起来看一看吧,这个所谓的离线计算啊,那一般我们都是通过批处理的方式来去做的。
03:13
就是离线计算啊,一般都对应的是P。能听到吧,离线计算一般对应的都是批处理啊,就是我们这个批次啊,就是一批数据,一批数据的什么进行这个处理。OK吧,而且呢,呃,它这个处理的数据呢,都是已知的数据,想到这个已知的数据呢,就说白了,我的这个数据呢,给你放到这儿了,放到这以后呢,这个数据呢,它就是一个静态的数据啊,静态的数据我是不会怎么再去动的了。能明白吧,然后呢,输入的数据呢,是不会什么产生变化的。啊,那你就想一下,你们在这个离线数当中,你们是不是在每天的这个就是凌晨对不对啊,就比如说这个零点以后啊,零点以后,然后呢,开始去什么计算你这个昨天的数据,那你就想吧,今天晚上的这个0.1过。
04:00
对吧,那我这个昨天的数据呢,就已经什么不再会什么发生变化了,好吗?那我就什么把它拿过来,然后呢,开始什么去做这个理想处理,那你就想想吧,这个数据是不是一个已知的所有的这个输入数据啊。对吧,这个数据是不会什么产生变化的。啊,这是我们这个离线计算啊,然后呢,这个离线计算啊,一般这个计算的量级是比较大的,而且计算这个时间是比较长的。啊,那为什么量级大呢,因为你。攒够了这个一天的数据了,对吧,就拿我们做了这个离线生产来讲啊,你都攒够了这个一天的数据了,那这个一天的数据对于一些这个比较大型的公司来讲,那个数据量是超级超级大的啊,所以一般什么量级是比较大的。那当然我们计算的时间呢,也就会比较长,因为你数据多呀,对吧,你数据多,你出的这个指标还多啊,那我计算的时间肯定就会比较长。对不对啊,但是还好啊,因为我们的离线计算对时效性的这个要求基本上是没有的,就你这个算的快一点啊,或者说你这个算的慢一点啊,反正我都是能够接受的啊,所以这个时间对于这个离线技来讲啊,应该都不是一个问题,你就长一点也无所谓啊,关键是你要把把它怎么能勾什么计算出来啊,这才是最重要的啊。
05:13
OK啊呃,例如说啊,我们这个就刚刚讲的啊,你这个凌晨一点的时候,然后呢,把这个昨天累计的这个日志呢,计算出这个所需的结果啊,这就是所谓的一个什么离线计算,那我们这个比较经典的这个方式呢,就是使用哈多普的这个MR的方式来去做计算。对吧,虽然说啊,我们在这个之前的这个离线收摊里面,我们用的是这个Spark引擎,对不对。对吧,同学们啊,就是你没有直接去使用这个好多的MR,因为这个东西你用起来很不方便啊,那我们肯定采用这个have来去做。对不对,我能写so狗,那我肯定就不想写代码呀啊,所以我们什么通过这个have里面这个搜狗的方式,然后呢,去做这个离线处理啊,那你这个搜狗执行的话呢,你就有什么多种引擎了啊,你可以使用MR,可以什么使用这个Spark对吧,当然还有什么别的,比如说什么T什么的都可以。
06:05
是不是啊,都可以啊,那大家应该选择的是这个Spark引擎啊,因为它呃基于内存算嘛啊,相对来讲这个算的会更加的快一点啊,比这个MR肯定要升快一点啊,但是大家注意啊,你甭管是这个MR也好,T也好,这个Spark也好,它的核心其实还是MR。对吧,思想还是MR的一个思想。能听懂吧,好,然后这个一般情况下这个离线计算哈,我们要根据什么前一日的这个数据呢,去生成很多报表。啊,出很多报表,或者说你要做这个可视化的话,那叫什么,出很多这个图表。对不对,然后呢,统计的这个指标呢,报表是比较多的啊,离线计算啊,统计的东西就是比较多,动不动就好几百个这个上百个,好几百个这个指标,让你需要去让你去做这个统计。对吧,啊,不过好在呃,我们一开始把它这个设计好以后,对吧,你都把它就编排成这个任务以后,反正每天晚上你自己去跑呗,我也不用这个人人为值守。
07:04
对吧,你晚上你就什么自己跑起来,然后呢,等到这个第二天我上班的时候呢,我看到这个结果就行了啊说这个指标多与多与少啊,就是你在这个开发的时候呢,可能会周期长一点,但是呢,你把它这个开发好以后呢,呃,就基本上就不需要你再去管了啊,他每天晚上自己跑任务跑完就完事了。好,对这个时效性的不敏感啊,这是我们这个离线计算啊。好,那我们简单总结一下这个特点啊,它的特点就是第一个数据呢,在这个计算前呢,就已经全部就位了啊,它是什么不会这个发生变化的。对吧?啊,再一个呢,数据量大且保存的时间长啊,就是呃,一般我们这个离线的数据,我们这个保存的时间都会比较长啊,你比如说你放到那个什么have中啊,你放到have中不就是放到这个HDFS的嘛,对吧?哎,这个数据我们一般都是永久性给它存储下来的啊,所以这个保存时间也比较长啊。好,然后呢,呃,这个离线计算啊,我们会在什么大量的数据上进行这个复杂的这个批量运算。
08:03
啊,这个批量运算啊,这肯定是必然的啊,那么这个复杂不复杂呢?诶就得看你们这个指标是什么样子的了啊,你算的这个指标难不难,如果说你这个算的这个指标是比较复杂的,那我的这个计算啊就会比较难,就会比较复杂啊,可能会做什么各种各样的运运算啊。OK,然后再一个是这个比较方便的查看这个批量计算的一个结果啊,那这个就很方便了呀,因为你们都做好了呀,要要不然出的是报表。对吧,给你导出什么导出这个报表啊,导成什么这个Excel对吧,或者什么导成什么别的格式的一些报表,要么呢,就是我给你做了一个什么大屏展示。对吧,出一个大屏啊,大屏上面什么各种图表,什么饼状图对吧,什么这个柱状图是吧,什么这个折线图啊,什么什么中国地图。是吧,啊就各种图表,然后呢,一一个什么大屏全部给你展示出来。那这个结果我查看起来肯定什么非常方便的。是不是啊,所以这就是这个离线计算啊,它的一些这个特点啊,这些的话就是给大家这个简单过一下啊,因为你们都已经呃做过一个项目了啊,我就不再展开来给你去说了啊,大家这个心里面应该都是很清楚的。
09:12
啊,那我们这个重点的话呢,还是想去说一下这个,呃,实时计算啊,因为这个才是我们目前的一个主角。
我来说两句