00:01
好,那么接下来该看什么呢?是不是一个直行图在。直行图的生成啊,那么执行图首先我们要关注什么。在哪里生成的,同学们?啊,这么大个字对吧,Job manager啊。那这个地方咱们,呃,首先位置在job manager啊,其实再具体一点,是不是jobva master创建的时候啊,啊那么第二个事情,咱们要关注哪一些事情啊,是不是还是那些边啊,顶点啊,中间数据集的转换呢?对吧,那我相信那一坨,呃就类似的一个过程啊,啊那就是这一块。这边做了什么呢?首先是顶点的转换,作业点变成执行作业点,那执行作业点里面又包含了每一个具体的作业点啊,作业顶点啊,那这个作业边呢,又细化成了执行边,对吧,他把每一个都画出来了。
01:08
每一个都画出来了,那么把这个中间结果转换成了。前面是中间数据集,现在变成中间结果对吧,中间结果又分为中间结果分区啊,这是更具体的。啊,这还是顶点,这是边,这是这几个是吧。那首先我们接下来要做什么?找位置在哪里啊,这个大家至少要知道能找到的啊,那这个呢,其实是在咱们new。Job master的时候,哎,大家能看到,呃,当然这一块的寻找大家可以呃选择性的来看啊。那比如说呀,咱们在dispat启动的时候,是不是要创建旧本master。这个没问题吧,Dispart启动的时候去启动job master是不是把它拧出来的。
02:06
对吧,那我们现在就要去找拧的地方,来,我搜一下。啊,这个地方这边已经是dispatch里面的逻辑了,如果你忘了从哪过来的,你可以从咱们前面提交流程那里,啊,回头看一眼就行了,啊,那现在这里是不是创建一个job manager runner再往里点。然后是不是又封装了一层,继续创建对吧,再点,然后我们找了一个实现啊,这一块的跳转,大家可以选择性的看,不想看直接看,呃,真正的逻辑所在啊,那这边我还是给大家看一下怎么跳转的。那这边我们当时是不是看的这个default这个,因为只有这个可以用了啊。好下来之后。再往下,哎,这个是咱们前面打的点啊,是不是利用了一个这个时间内啊。
03:00
再往里看。再往后找。这里是不是现在真正的启动一个job,它叫job manager对吧,其实是master对不对啊在点。再找实线啊,这一块大家留个印象就行了啊,知道怎么点了,好,我们上次是不是就看到这了。对吧,我们说在这里是不是真正的把它创建出来了,好,那接下来我们就要从这里接着开始,大家都接下来是咱们提交流程没讲的啊,在这里做补充,从这开始new的时候点进来。点进来之后。这里是不是能看到啥吗?可以的,你看这这整个一坨全是构造器啊,一直到哪里。一直到这里啊,就这一些都是他构造器里面做的事情。
04:01
那在这里面咱们关注哪呢?你往下拉往下拉往下拉往下拉不好找啊,这里不好找,这里面有一个。它有一个属性叫做薛丢了N基啊。你能找到吗?它这个怎么赋值的,调用了一个create schedule是不是创建了一个。标一下啊,创建的一个调度器啊,对吧?哎,那么我们说创建的时候啊把。呃,Job gray转换成cuy啊,这边啊,是在这个位置最开始转换的地方,来,我们再往里点,往里点之后又调用了一层,这是不是工厂模式啊,对吧,Factory没事,我们进去。呃,在里面看,找他的具体实现。CTRL加。
05:00
有点慢啊,好啊,很愉快,发现只有一个对吧?啊default还是一个default好找。找的话往下看,往下看最终呢,它是不是返回的一个创建了一个什么。默认调度器对吧?哎,这个名字咱们记住这个调度器叫什么,是不是叫默认调度器啊好,那在这个里边,你看这么多参数呢,啊,这么多参数点。然后呢,这边修好是不是它的父类构造器啊。载点。是不是来到他的腹内血流了base啊,对吧,学流了base,那来我们看啊,还是一大坨啊,不好找同学们啊,在哪里呢?238行调用了一个方法叫create and restore,是不是创建和保存。
06:00
执行图啊啊,他藏得如此的深,对吧,当时找这个我也找了好久啊。呃,那我们往里看它怎么创建的,点调用的一个调用的一个方法叫create execu graphic创建执行图。再往里看。往下。Return的时候用了一个be.be的grab是不是创建图啊啊,它的逻辑就在这里面,那么前面我咱们讲这么多都是一个呃,跳转过程,那么大家如果嫌麻烦,可以只记住它的逻辑在哪个方法里边,哪个累哪个方法就行了啊那也可以啊,看各自的选择,那咱们点进来。啊,这一块就是了啊。哪个类呢?执行图构造器be,执行图be,然后呢be graphic方法啊,那你也可以直接跳到这里来啊,那这里面呢,就包含了它的核心逻辑。
我来说两句