00:00
好,接下来呢,我们就来详细的进行一个技术选型啊,那我们提前呢,给大家截了一个这个钉图啊,这个钉图呢,呃,是有一个专门的工具啊,后续呢,想要的同学呢,可以从这个资料包里面去拿啊,这定图比较方便啊行,那么来看一下我们技术是如何来选型的,首先来看第一个说我们这书上当中啊,哎,这个数据采集传输,我们要选择哪些组件呢?对吧,诶比如说这块针对这个数据源,我们用哪些组件进行来处理,那在这张图当中,我们说用的这个flu,对吧,它专门来处理的是文件日志。好,那我们用这个scoop呢,专门用来处理对应的业务数据。哎,这是存储在MYSQL里的数据。那这里面你看还有一个卡夫卡,那卡夫卡又是干什么的呢?哎,其实啊,我们这个数据啊,从这个呃,日志服务器里面用福来采完之后,如果赶上双11或者618的时候,那么这个数据量啊会非常大,那怎么办?哎,我们可以把这个数据啊,先缓冲到这个卡卡里面,然后慢慢的再往这个数场里面进行一个写入,那这样呢,起到一个消峰的一个作用。
01:09
哎,这块要注意啊呃,加一个缓冲啊之后呢,下面这个coop,那还有对应的框架呢,叫love。那love sta它跟这个呢,其实都能够用来处理日志文件。哎,实时的来采集,那只不过呢,呃,这个E这个lock t呀,它是elk当中的一个组件。Elk是三个框架啊,E呢叫。Law呢,这个L呢是love key呢是keyanner,我们在后续呢,都给大家去讲啊,只不过呢,那个是在实时项目里面。啊,那这里面为什么不选择这个na呢。那记住,像elk这套框架,它主要针对的是一些中小型公司,或者数据量比较小的公司愿意去采用它。而且呢,分析的一些指标啊,不是那么特别复杂,简单的一些查询处理就OK了,那如果你这个书场想做的稍微复杂一点,或者功能更完善一些,那我们通常情况下呢,哎,采用的是啊,Flow hadoop have啊大数据这套真正的开发框架。
02:10
哎,这要知道一下哈,好,那下边再往后呢,是这个D的差。这个叉啊,跟这个SCO呢,他俩目前的市场占有率啊,差不多五五开。那是这样的,也是都有使用,那本次这个课程啊,我们用的是scoop,那后续我们这个项目呢啊,会把它这个再修改成这个this,也就是说无论你未来在企业里面用SCO框架还是用datax框架,我们都有对应的这个解决方案和对应的技术车辆。哎,帮你去这个解决企业的问题啊,这是这个啊,采集框架这块。没有选择的。那接下来再往下走,哎,是数据这个存储这一块,也就说你这个数据啊,通过这个采集框架采集进来之后,那我进到哪里呢。我用什么框架来存储呢?对吧,在本质项目当中呢,我们用是HDFS进行数据的存储,因为它能够存储的数据量大。
03:03
对吧,哎,能够存储海量的数据。那这里面我们还用了MY3Q进行数据的存储,那它用来存储什么样的数据呢?记住它存储的是小量的数据,那小量数据在哪呢?在这个ad城这块。Ad啊,他是老板要看到的这个报表,比如说柱状图,饼状图。哎,这种结果图,那结果数据量是非常非常小的,通常一个企业里面也就几兆的数据就够了,哎,所以说我们把这个结果数据啊,放到my circleq里面,方便后续加vae框架的一个啊,快速可视化展示。所以用它来测,我们这里还用到了一个h base。那h base呢,其实后面它主要用来存储一个叫kidding。K的一个呃,多维分析快速查询的一个框架。那这个框架呢,它的数结果数据会写入到这个HP里面,哎,是存储它的结果集的,那后面我们用到这个K0的时候,再给大家详细讲好。那还有呢,像这个也可以进行数据的一个存储。
04:03
啊,只不过呢,我们在离线数场里面没有用到RA,我们后在后续的这个实时计算里面会用到RA对应的解决框架。好,哎,还有呢,像曼果DB有一些公司啊,它存储数据是把结果数据存储在芒果DB里面。尤其一些爬虫的啊,爬完虫之后的数据放到办公DB里面。这都是可以的。对吧?哎,那如果说存储到DB里面,那你又如何来快速的把GOD的数据同步到场里面呢?那其实我们也有对应的这个解决方案。啊,只不过这里面呢,哎,我们把这个爬虫的数据啊,先给屏蔽掉了啊,因为呢,它属于这个啊灰色地带啊,属于游走于法律的边缘啊,所以说这里面不教大家好吧,哎,那我们继续再往下走。下面呢,是数据计算这一块,那当前比较主流的这个计算引擎啊,有什么呢?有have,有T,有SPA。哎,其实呢,也有这个flink啊,叫流P啊,那后面再说啊,哎,那这个是解决啥问题的,你数据进入到这个书仓当中之后,我涉及到要给他们进行一个分析计算呢。
05:11
对吧?哎,那你分析计算,那我底层走的是什么,那你比如说像这个have,它底层走的是MR啊。对吧,那MR的话,它是数据是落盘的对吧,有沙那相对来说效率要慢一些,那像这个T子引擎呢,它数据是完全放在这个诶内存当中进行计算。它消耗内存比较大,但是我查询速度快呀。那像Spark呢,诶,它部分数据是放在内存当中,部分数据是放在磁盘当中的。哎,相对来说要比你这个MR引擎要快一些啊,因为它杀过程啊,是要落盘啊,这要知道一下。好,那他们每一个引擎有各自的优缺点,那本套项目当中呢,其实我们用的是这个have on Spark引擎进行分析计算,既保证了它想要的可靠性,同时也加快了它的一个计算速度,啊,还是非常好的。
06:01
哎,那其实除了这三个引擎之外,像还有这个像呃flink引擎,以及这个storm,那这个呢,主要用来处理这个实时的一些任务,那它的这个特点呢啊,会或者是优势啊更明显一些。那再往下走。那接下来哎,这个数据的查询,诶积极查询就是什么样场景呢,产品经理突然走到你的跟前,说我想统计一下当前这一时刻啊发生的数据,它的目前的一个一些指标的一些情况。他不是我们每天固定跑的,说adi要出的报表数据。临时的。那怎么办?哎,那我们可以采用这些框架进行对它进行一个分析统计。那比如说针对我们离线这种场景,我们通常选用的这个快速查询用的是。啊,Kidding进行查询,还记得吗?Kidding跟这个h base啊,是配套使用,当然最新版的这个kidding啊,它是这个把这h base踢掉啊,但是呢,它的那个呃目前呃效果不是特别好啊,还需要点时间的一个迭代啊,我们再持续的关注啊。
07:06
好,那后面像这个in power,它跟这个啊啊,都属于这种快速机查询的,只不过呢,这个P啊是阿帕奇版的,使用起来效果更好一些,那么这个是H版的这个框架呢,用这个impalor效果更好一些啊,后面会给大家详细的一个对比啊。那像那个还有德鲁伊克雷斯,他俩都属于这种快速实时查询,通常用在这种实时数仓的场景用的比较多啊,以及这个dori啊,这都是在实时出场里面用的比较多,也是当前比较火的一些框架。啊,不着急,在我们实时项目里面再会给大家介绍,那在离线场景当中,我们通常就会选择诶前两种。那再往下走。下面我们来看一下这个数据可视化。啥意思呢,你看我这张图当中。嗯。我们ad啊,最终要把这个结果数据进行一个报表可视化展示。对吧,那我们的报表系统让领导用这个图形化页面进行查看的,那我们本次项目当中啊啊有这个e chart图形进行考察展示的。
08:08
也可以采用像super set这些框架帮我们进行快速展示,那这两个框架呢,都是开源免费的。啊,咱们呢,呃,以这个开源免费为主啊,因为收费的有一些公司啊,这个授予资金的这个限制,包括学习期间呢,授予自己这个,呃呃生活成本的一些压力吧,啊,所以说学起来可能会困难一些啊,那我们就给大家讲这种开学免费的啊,大家学起来没有压力啊,而且在企业里面也是有这个使用的啊,这也不用担心好。那接下来像这个quick BI和data杯,他们的这个可视化效果要比咱们开源免费的啊,展示的要好看一些啊,但是呢,很遗憾,好看的东西啊,它都是要收费,那像这两套框架呢,都是这个阿里的对应的可视化报表工具,那比如说像quick BI这块,主要针对的是离线的这种数据的一个可展示,那data呢,主要针对的这种实时的快速啊,大屏的这种展示。
09:01
这都是收费,相对来说要贵一些啊,要贵一些。OK,那再往下,下面呢是任务调度这一块,你说整个这个项目当中,哪些任务开始先执行,哪些任务执行到多少之后就停掉。哎,等等这些任务调度的情况,我们可以由这个像阿兹卡班乌Z啊,这个DS以及呢二。进行一个这个呃,任务的调度,那像阿兹卡班,他就属于这个中小型公司用的比较多。因为它的特点呢,就是简单实用,上手非常快。那像5G呢,它呢是功能比较多,诶所说的我们总说这个框架比较重,它的功能很全,但是呢,对于一些中小公司啊,它用不到那么些功能啊,那它的效率啊要低一些。那再有呢,像这个DS。DS呢是这个呃,国内呃某厂家啊开源出来的这一个啊调度工具可视化页面非常看,而且中国人用起来呢,肯定这个相当于相对来说啊要舒服很多啊,因为比较呃符合中国人的这个啊特点哈,好还有呢,像这个airlo啊用的相对来多一些,只不过呢,他这个是用这个Python脚本写的。
10:14
啊,现在说你要懂一定这个啊pon技术,那用它起来用它呢会更好一些,OK。再往下。再往下呢,是集群的一个监控,比如说整个这个数仓啊,你在这个搭建过程当中。对吧,哎,这个输上大电过程当中,那么就有可能有任何一个主件挂掉,比如说这个任务吊具挂掉,对吧,挂掉或者实物挂掉,那挂掉之后我能不能第一时间监测到每一个服务进程,它是否。正在运行。那由谁来监控呢?哎,就可以有这个像。或者呢,有这个普尔米修斯都可以,那我们在离线项目当中,我们用的是这个Java。在实施项目当中,我们用的是普尔米修斯,哎,把争取这个整个集群调度的框架呢都给大家用一个遍啊。
11:00
OK哈。啊,那下面再往下走。下面呢是原数据管理啊,原数管理咱们之前解释过它呢,其实主要解决的问题就是你在这个运行过程当中有很多很多任务。对吧,有很多很多任务,那么也就是说任何一个中间任务挂掉,它会影响哪些指标的一个输出。任务的影响范围是什么样?那如果你公司啊,就几十个任务,那这个你用肉眼就能看得到。啊,这个它的作用啊,不是特别明显,那如果你公司当中是有几千个任务,甚至几万个任务,那么它的价值就大,所以说通常做元数据管理的都是一些中大型公司,他们都会有。好,那我们这里面本套课程用的是这个Atlas,也是企业里面比较主流的啊,这个数据管理框架。再往下。再往下呢,就是一个权限管理啊,权限管理方向,那权限管理方向就是你这里面,哎,任何一张表,以及表里面的字段是哪些用户不允许访问,哪些用户不允许访问。
12:05
那这里面企业当中啊,用的比较多的像range以及呢,还有这个三,只不过呢,这个三啊,现在已经被这个呃阿帕奇呃给出名了,为啥出名了呢?因为啊在这个大家听说过这个HDP。和CDH吧,啊,CDH这两家公司是不是合二为一了?哎,合成一家公司了,何必了,那么以前HDP用的这个权限管理框架呢,是range。CDH用到全景管理框架呢,是这个三。那他俩合并之后呢,哎,大家都觉得这个三推啊,这个性能各方面要弱一些,哎,主推的是rangeer啊,也不再维护这个三推了。对吧,哎,时间久了之后,后面所有推出来的像那个新产品,比如说那个CDP用的就是。啊,所以呢,呃,现在呢,咱们用的也是这个比较主流的啊,对应的这个ranger对应的这个框架啊,OK,行,那这就是我们,哎,根据我们这个项目啊,我们要完成什么样的功能,进行的相应的一个技术选型。
13:04
啊,就是这些好吧,嗯,虽然说这里面讲了这个很多很多框架,有同学啊,这个乍一看这个很晕,说海哥怎么学校学这么多框架。呃,其实大家不用担心啊,如果前面讲过的框架,那这块呢,我们讲解拿过来就直接用了,如果没有讲过的框架,那我们会诶一行一行代码从安装开始啊,去给大家详细的去讲解啊,不用担心学不会啊。好。
我来说两句