00:00
来看第一章,呃,第一章呢是阿斯卡文的概论啊,那这边呢,有一个1.1,他说什么,为什么需要使用工作流程调度系统,为什么使用,大家现在你心心里清楚不清楚啊,你看清楚了吧,对不对啊,那下边呢,还有一个小例子啊小例子,那这小例子咱们也简单看一下吧,啊,既然准备了一个PP,咱们就点开看一看。啊,点开。这个有点慢啊。啊,我这个电脑快要那个啥了,快不行了似的,来吧,来这个在这块呢,举了一个小例子啊,这小例子什么能看一下啊,说什么某某个业务每天产生20个G的数据,我们每天都要对其进行处理啊,注意每天产生每天处理对不对啊,这涉及到一个什么问题啊。定时执行的问题,对不对,那接下来我们怎么做呢?我们需要首先先把它导到hfs,然后呢,通过这个一个map produce,对这个原始数据呢,进行一个这个计算啊,其实在这块相当于对他干什么呀。
01:04
二对它干啥呀啊,其实啊,在这呢,一般情况下,你可以使用MAP6呢,对对这个数据进进行一个啥,进行一个啊EPL清洗啊可以清洗,对对,当然咱们这那个清洗,我们直接怎么做的呀,是不是先把它漏到表,漏到还表里,然后用S做的呀,对吧,咱们解析啊等等等等,对不对,其实你也可以怎么做呀,SPA produce6也能是不是也能解析啊,也能解析就不说,你就得自己写代码了,对不对,或者大家用谁用Spark行不行,Spark是不是也能读文件,读文件之后是不是也能做各种处理解析呀,对吧?哎,都行,这个方式多种多样啊,多种多样啊在这边比如说用map producece就进行个解析,完了之后呢,导到have表里,得到have表里之后,咱是不是就写S进行分析了呀,那最终得到一个大表,得到大表之后呢,把结果诶汇总出去啊,那这个就是一个典型的从头到尾的一个工作流程吧,那这个工作流程呢,刚才说了,我们有一个定时调度的一个需求,然后呢,整个工作流程呢,我们有前后的依赖关系,对不对,我没有办法就是。
02:04
说安排一个人,让他一个一个去执行,这个不可能不现实对吧,那所以说我们就需要这种定时调度的这个系统呗,工作流程调度系统其实很简单啊,为什么用很简单,好,那这个咱不再多说了啊,那看一下下边,下边这边呢,给大家简单的介绍一下,就是我们目前啊,咱们这个常见的几个工作流程调度系统,就是比较常见的几个啊,咱们来看一下啊,来这个工作流程调调度系统呢,其实挺多的啊,挺多的,咱们看一下啊,来第一个。简单的这个任务调度,那直接使用我们Linux系统当中自带的c tab,那就可以实现。啊,当然了,这个也说了,是简单的调度任务调度啊,比如说什么呀,比如说我们现在假如说啊,我们需要对什么呀,需要对我们的MYSQL数据库,因为MYSQL数据库当中是不是存储了我们的have原数据啊对吧,这个相对来是不是相对来说比较重要的,对不对,那假如说原数据发生变化啊,原数据损坏了,那你说整个数仓是不是就瘫痪了呀,对不对,原数据坏了,你还有当中。
03:06
表是不是全找不到了呀,对不对,那肯定不行,所以说那have的元数据相对来是比较重要的啊,相对比较重要的,那假如说我们现在呢,需要对哎买so当中的mato,也如还有原数据表进行每日的定时备份。是不是保证这个数据安全呀,对不对,以免这个发生这个不小心删库的这种悲剧,对吧,咱每日对其进行这个数据的备份,哎,那这个你就可以怎么做呀。不就可以把数据仓库,呃,就就可以把那个数据库备份的任务写到一个shell脚本当中啊,然后呢,把这个shell脚本交给c tab每日定时调度,或者是每周定时调度是不是就可以了呀?啊,因为这个任务比较简单,是不是就是一个命令的事儿啊对,而且这里边呢,它没没有什么呀,没有这个依赖关系吧?啊,那这种简单的任务我们可以直接交给c tap去调度。啊,那对于咱们这种数仓当中这种复杂的工作流程,你用cor tab呢,就不太好实现了,对不对啊,它是不是没有办没有办法很好的帮你去解决这个依赖关系啊,对吧?那所以说诶,对于复杂的工作流程调度,我们肯定得使用专门的工作流程调度系统,那目前我们企业当中进行这个工作流程调度的工具都有哪些呢?那一些大型公司呢,可能会自研啊,就是自己开发平台。
04:23
啊,自己开发调度平台,那这个呢,当然呢,呃,这是大公司啊才会这样去做啊,那一般的公司呢,我们肯定都是使用这种开源的调度批组,那比如说咱们下边这几个乌。阿斯卡班airlo哎,Dolphincher啊这样的四个,这是我们目前就是比较常见的几个调度系统啊,虽然他们很多啊,虽然很多,但其实使用起来啊,大致的这个过程都是一样的啊,大致过程都是什么样的呀,第一个。首先你得知道什么呀,你得知道你自己的工作流程什么样的,他不能帮你决定你的工作流程是啥样的,对吧,这是不是得咱得自己开发呀,对吧?那完事之后呢,你需要怎么做呀?第一步你需要将你的工作流程先描述出来,就是你得告诉他你的工作流程有几个工作单元,那每个工作单元之间的依赖关系是什么样的,就是谁依赖于谁,你是不是得明确呀,对不对,那当然呢,就是你这个明确的方式是不一样的,你比如说使用乌Z啊,我使用这个XML文件去配置,阿卡班呢,我使用这个页面文件配置啊,Air flow呢,我使用这个,呃,Python脚本去配置啊,那dolphin schedule呢,我可视化的,我直接拖动,我在页面上就是不同的这个调度工具呢,它的这个配置方式是不是不一样的呀,对不对,但是你基本上实现的这个功能是一样,就你得告诉他你的流程是啥样的,完之后你把流程告诉他之后呢,那他就能干啥呀,你就得再再配置一个东西,配置啥呀,配置你的这个定时调度的频率啊,以及执行的时间,哎,你把这些告诉他,是不是他就能给你定时调度了。
05:55
来啊,其实就是这样的一个过程,基本上都是这样,只不过就是不同的工具呢,可能使用起来啊,具体的细节是不太一样的啊,是这样的啊好,那接下来呢,把这几个工作流程啊呃,调度系统呢,给大家简单的这个介绍一下啊,首先先说屋。
06:10
乌Z呢,首先啊,它是这个相对来说这里边比较重的一个调度系统比较重啊,它之所以比较繁重呢,是因为什么呀?啊,因为它的功能是比较全面的啊,这里边屋的相对来说功能是哎,最全面的一个啊最全面当然了,它这个使用起来呢啊,越全面那意味着越什么呀?啊越复杂,那就是配起来相对比较麻烦啊,比较麻烦啊,那如果说我们单纯的去使用一个屋Z,那OK,使用起来确实很麻烦,你需要去配置SL文件。啊,大家都知道SM文件很臃肿对吧,写起来很很麻烦很费事啊,但是呢,有一个好消息啊,会有一个好一个比较好的一个东西,什么东西呢?啊,如果说我们大家在公司当中使用的是CDH平台。啊是CDH平台啊,后续我们是不是有两节课给大家介绍一下CDH对吧,那到时候呢,也会演示这个东西啊,如果我们使用的是CDH,那在CH当中呢,我们有一个诶非常好用的一个工具,这个工具叫什么叫做hue啊hue。
07:13
啊,那这个hue它相当于就是海doop user啊,Experience啊,什么意思呢?就是海doop的一个用户操作界面,那相当于这是干什么用的呀,就是相当于是我们,呃海杜op的一个可视化的工作界面,我们通过hue呢,能够集成海杜生态圈当中的各个应用,比如说集成海do的HTSS,比如说集成我们的have啊,集成什么in派了啊,集成h base,集成各种各样的东西,你只要集成了之后,你相当于是在h base,在hue那个页面上啊,你能够进行一站式的操作,包括集成谁,包括集成这个5Z。啊,然后你要如果说你在hue上面集成的乌Z,那你要再去使用UZ去编辑工作流程的话,那就很容易了,怎么做呀,在页面上操作就行了,就不用再自己去写这个SML文件了,能理解吧?啊就是它相当于给你封装了一个上传应用啊,是这样的啊,那也就是说,如果说咱们大家到公司之后呢,我们使用的是CDH平台,那就推荐大家使用hue,然后呢去。
08:18
呃,集集成这个屋Z,然后进行工作流程调度,这个是很方便的,很方便的啊好,那后续呢,会给大家演示这些东西啊,那那如果说大家在公司当中,我们使用的不是CDH平台,是阿帕奇原生的,阿P原生的话呢,我们使用乌Z,其实啊,说实话有点繁琐,有点繁琐,就是你配置那个配置文件太麻烦了啊,那所以说我们通常呢,就不再使用乌Z了,你要阿帕奇呢,我们可以使用阿兹卡班,这个相对来说呢要清亮一些,而且它配置起来呢也会更简单一些。啊,更严一些啊,是这样的啊啊,那咱们现在用的是不是叫阿帕奇瓶奶啊,所以在这儿呢,我们使用的就是阿兹卡班。啊,卡班,那再一个呢,往下走,下边的这个是airf flow,呃,Airf flow呢,它是由这个用Python语言开发的,所以说我们去使用它的时候呢,呃,会使用大量的Python脚本啊,Python脚本啊,所以说你要想用airf flow呢,你多少得具备一定的这个Python基础才能用啊,是这样的啊,这是P,这是airf flow啊,那再一个呢,是这个dolphin scheduler,它呢是一个呃,可视化的啊,是一个可视化的工作流程调度系统啊,就是它提供了一个外部页面,你想调度什么任务呢,直接拖拽,然后呢去指明这个依赖关系啊,然后他这个工作流程你就告诉他了,告诉他之后,告诉他什么时候就是什么时候跑啊,这个频率是什么,你告诉他就行了,他就会定时的给你调度。
09:39
啊,是这样的啊,那个刀兵盖它是一个国产的。是一个国产的应用啊,这个国产应用只不过就现在呢,它目前是处于这个,呃,就是孵化阶段啊,是孵化阶段啊,就是孵化阶段的东西呢,就是可能就是不是那么的稳定啊,不是那么稳定啊,就是可能以后变动的会比较大,那所以现在这个呃也有用的,但相对来说要少一些啊,就是目前的主流呢,那还是谁啊。
10:04
主的就是他俩啊,乌Z阿斯卡班啊,那这俩咱们到时候怎么选啊,其实很简单,你这块呢,也不用考虑什么功能全不全的,那基本上阿斯卡班的功能也足够我们使用了啊,你就考虑一点啊,如果说我们使用CD平台,那你就用5Z对吧,那因为用起来比较方便吧,如果不是的话呢,那我们就用阿斯卡班啊就行了啊好,那接下来下边呢,还有一个阿斯卡班跟乌的一个对比啊,简单看一下吧。其实刚才也说了啊,那现在最最流行的两种调度器呢,就是阿斯卡班和乌Z啊,那这个乌Z呢,相比阿斯卡班是一个重量级的任务调度系统,功能全面啊,但是配置使用也更复杂,当然呢,这个它这个所谓的配置更复杂指的是什么呀?只是我们单纯的去使用UZ对吧,你要配S文件,那如果说你结合它那个hue去使用啊,那这个就不复杂了啊,就很很方便了啊,是这样的啊啊,那这个大家知道怎么回事就行啊呃,如果说呢,我们呃不在于某些功能的缺失,那轻量级的阿斯卡奔斗器也是一个很不错的候选对象,那其实阿斯卡班虽然是轻量的,但是它提供的功能呢,也足够我们使用了,也足够使用了啊好,那这就是阿卡奔跟5Z的一个对比啊,再重复一下啊,这俩到底怎么选的时候,CDH咱们就选这个,阿帕奇呢,我们就选这个啊好,那第二块呢,我们相当于就完成了这个,哎,概述了啊,我们把视频录一下。
我来说两句