00:00
那么接下来我们对整个调度啊介绍几个概念,明确一点的啊,这一块主要是概念的介绍啊,调度器啊,首先咱们这个里面有三个重要的概念,一个叫调度器。对吧。默,我们是不是有个默认调度器啊,对不对,好,还有一个前面涉及到调度策略,还有一个调度模式啊,有一个叫策略,有一个叫模式啊。好,我们看调度器。调度器,我们那个default NG。最终是不是赋值给了一个叫default NG啊,对吧,那个默认调度器是不是赋值给这个东西啊。呃,大家不记得的话。应该是在咱们创建的时候啊,那是不是另有一个job master。的时候。哎。
01:01
哎,咱们还记得在创建旧本master的时候,我们是不是在这看到的调度器啊。往下你看它创建的这个调度器复制给谁啊,是不是一个叫schedule的NG啊,对吧,其实是不是就指的咱们那个默认调度器啊,默认调度器它名字叫这个而已,好吧,NG啊,大家知道这么意思,那么这里面呢?呃,不去点了啊,就一个类结构,我贴到这了,你看开始调度取消,呃,挂起。呃,对吧,等等是不是调度行为啊,还可以什么请求当前作业的状态啊,对吧,请求作业详细信息啊,就等等一些操作可以做这些事情,启动停止查询对不对好。那我们目前是不是只有一个叫default schedule的还记得吧?啊,没问题啊。那么大家注意,老版本有一个叫这个的,但是在1.11版本已经被干掉了。
02:03
遗产是吧,遗留的,这叫遗留的调度器,对吧,迟早要被干掉啊,那这个目前已经没有了,大家也找不到这个内容啊。调度行为。啊,就是说咱们调度干的啥事吧,调度行为呢,主要是在咱们调度的策略里面去定义的策略是不是。什么叫策略?策略是不是设计了你未来要做的动作和事情啊,所以叫策略对不对啊,策略性的东西,就像大家学习说我要搞一个学习策略,对吧?啊,今天学他都把明天学flink,大后天学Spark,在大后天把实时出仓干完,在大后天统一中国的大数据标准的话啊,这就是你的策略对不对啊,这就是你的策略,你的计划啊好,那像这边什么启动调度啊,重启task科呀。
03:03
还有什么?执行状态的转变啊等等啊,这个作为了解就行了啊,这个不重要,重要在于咱们了解其他两个概念,模式跟策略,来接下来我们看一下模式,咱们之前看源码是不是涉及到这个。我们说默认是牛的话,它是什么模式啊。是不是很饥渴的那种啊?一个饥渴模式对吧,什么叫饥渴,是不是一次性所有task一起部署出去啊,啊,他不是一个一个来对吧,一下子全洒出去了啊,一下子全撒。那除了一个还有什么呢?一个呃,我们先看一个啊,适用于牛计算一次性申请所需要的所有资源,如果资源不够,不好意思启动不了,就这个意思对吧?啊,所以它是饥壳的对吧?啊,那还有一种叫分阶段的,叫lazy from s。
04:03
这个是呃,分阶段的,呃你看这个名词是不是懒呢,对吧,是不是就像挤牙膏一样,这个阶段完事了,下一阶段才继续啊,啊所以我们说它比较难,比如说很多个task有比如说这边有好多个task,它并不是所有人一次性撒出去他怎么样,哎,比如说我很懒,我分阶段啊,比如说这两个是一个阶段,好,你俩先去跑吧。啊,等你了差不多了啊,然后再下一批,好了,再下一批,那么想想刘处理能这么做吗?为什么刘处理不能这么做?刘处理这两个第一批出来,这两个是不是一直占用的?刘处理会急吗?流处理是不停的,对吧,那就没有所谓的下一阶段了,所以这个只能适用于批处理,批处理才是什么,比如说这两个占用了两个槽,跑完了,他只有跑完这个槽是不是才会空闲出来,他空出来下一阶段是不是才能继续来使用这些资源呢?啊,所以我们说这种是适用于批处理啊,批处理好。
05:10
那还有一个比较新的。当然也是批处理对吧,首先前面这个前缀一样,是不是分阶段。调度啊好,但是后面带一个什么,With batch slot request。呃,首先第一点它适用于批处理。那么它与前面第二种介绍的基本一样。呃,它唯一的区别在哪里?等批次要执行的时候,资源不太够,我也会勉勉强强跑起来。我也会勉勉强强跑起来啊,但是前提是什么?你不产生杀否?什么叫杀否?是不是分区的改变了?分区的改变嘛,对吧。啊,总而言之,咱们就记住调度模式是不是分流跟P啊。
06:01
对不对,那礼是什么饥渴的一个啊,只只能是这个P呢。呃,分阶段你记住关键词分阶段还有一个单词叫lazy,那其他后面你不记也行,大概记得就行了啊,那这个就是大家要了解的调度模式,那还有一个调度策略。咱们是不是也遇见了,我们说新版本是不是一个pipeline region对吧?好,我们看目前呢有三种。三种,一种叫一个调度策略,即可的调度策略,同时调度所有task。那么另外一种呢,叫。你看名字是不是很像啊?Lazy from s shadow stage,这个适用于P处理啊。呃,就是上一批处理完,下一批再继续啊,最后一种pipeline region管道,局部管道我们说了,流水流水线就管道嘛,局部我们说了,哎,我画一张草图啊。
07:07
好,假设作业是这么走的。哎呀,好多呀。好多呀。那什么样叫一个,首先我们明明白一个什么叫完整环道。既然有局部肯定有完整对吧,完整就是咱们是不是分了四个扇子啊。对吧,完整就表示每一个我都有一个实例,比如说。这个管道就叫完整了。因为它是不是包含了四种扇子的一个指并行实例都包含了,这种叫一个完整,那什么叫局部呢?就至少两个人。就是没有包含全部,你三个也算,你两个也算,就是不是从头到尾都有,但是你也是包含了一部分,这种叫局部管道,那么目前新版呢,就是使用了这种局部管道模式啊。
08:10
好,那这个东西我们还要了解什么时候加入的呀,局部管道啊,局部流水线1.11才有的啊,1.11才有的。那么1.12,但是当时它不是默认的,同学们1.1的时候加了这个,但它不是默认的,但在1.12开始,它以它为默认啊,默认就是它啊,默认就是它。好了。那么他,呃,局部怎么执行呢?比如说咱们划分完是不是有多个局部的管道作业啊,是不是有多个局部啊,好,那么在部署之前呢,他不需要等待所有的任务获取slot。咱们以前一个模式,是不是所有的都分配完了,每个人都能满足了,他才开始跑啊。
09:00
那么这种模式呢,他只要局部满足能跑了,那我局部就先放上去,让他先跑起来啊,就让他先跑起来啊,就像你买房子一样,有些同学呢,那就比如说我一套房子1000万,我要攒够1000万,我要全款买下来,这种就是一个嘛,等到你钱足够了,那么局部是什么?先付个首付慢慢还,对吧?啊,就有一部分算一部分啊,这样子啊局部啊。好了。那么对于批处理呢,这个同样可以用于批处理啊,这个对于批处理它不会为任务分配,Slot也不会单独部署,它是怎么样啊,也是按局部,这个局部够他用了,这个局部跑起来。呃,将与其他任务一起部署在这个区域里面啊,说白了这个咱们也不用关注,挺拗口的,这个东西反正就是局部局部的啊,局部局部的。
10:02
好,那么。啰嗦一句,1.12,用哪一个策略?局部流水线或者叫局部管道,对吧,好OK。那么模式用什么?模式是E对吧,好OK,那这几个概念大家就懂了,好还有一个调度器有哪几个,哪几个类型。调度器有几种类型?只有一个呀,1.12版本只有一个default对不对啊。OK。那这几个概念,再加上前面这些基本上哎,大家呃,该了解的差不多了啊。
我来说两句