00:00
好,同学们,我们接下来来学习这个RDD的行动算子啊,嗯,咱们之前讲过,所谓的行动算子呢,其实就是触发整个计算的执行,那这句话怎么理解呢?为什么会触发我们作业的执行呢?咱们之前给大家讲过一个叫collect啊,这个方法啊,咱们大体说了一下,它是一个采集的意思,对不对,所以我们这里呢,来把咱们程序呢,稍微的咱们变一变啊,来把这个我们拷贝,嗯,拷贝。拷贝以后呢,我们new啊创建个package,然后把它改一下。好,那我这里呢写上啊,咱们叫SPARK01,然后呢,RDD,咱们叫做operator吧,嗯,再加上一个叫action啊,咱们叫做行动子啊好,在这里我们写上一个啊,OK,嗯,接下来把这个我们原封不动拷贝过来。
01:06
好啊,然后呢,最后给他来sc.stop。写完之后,那这个时候呢,我们随便先创建一个RDD吧,然后sc.make r DD,咱们的LIST1234,那么这个时候呢,大家看一下RDD点我们叫collect,这个记住咱们就称之为叫行动算子,那么所谓的行动算子呀,我们之前就讲过了,它其实它会什么呢?触发我们作业的执行啊,所以我们这里说一下啊,咱们叫做所谓的啊,所谓的行动算子其实就是触发。啊,我们叫作业执行的方法,就是你这个方法呀,能促使咱们计算的这个任务呢,开始执行,那我们现在就看看为什么啊,什么就是作业对不对,怎么理解呢?它其实就叫job啊,就叫做一个作业了,嗯。
02:05
那我们来点击这个collect,我们点一下点这个collect呢,它里面大家看怎么了,有一个叫sc.wrong job,所以咱们的底层代码啊,来底层代码它调用的是。我们环境对象啊,环境对象的这个方法叫做什么呢?叫wrong job,嗯,这个方法。所以你从字面含义上来讲,是不是也是运行作业的意思呀,那我们继续往下看啊,咱们再点,点一下run job,再点run job,诶run job,诶,一层一层在调用好再来点,点完以后到了这个位置的时候往下看,往下看有个什么东西啊,叫dag scheduler dag,咱们前面介绍过一个概念,叫有向无环图吧,Schedule,咱们叫做调度器,对吧?它通过一个有向无环图的调度器,它开始运行咱们的作业,所以我点一下,点完以后再往下,这个地方有一个叫submit job,叫提交作业。
03:10
你看他都会提到这个作业的概念啊,然后呢,接着我们再来点它点点完以后往下走,往下走它的这个地方呀,会提交一个什么我们的消息,或者叫事件,这个事件呢,它会触发执行,那么到底怎么触发的,这个咱们后面再讲,咱们现在直接搜索一下。搜索的时候,大家可以看到在这个地方有个叫handle,它来处理这个事件,所以啊,咱们往这儿来看一看,在处理的过程当中,往下走,往下走,大家看这个地方它会有这么一段代码,什么代码叫new active job,所以啊,所谓的提交作业,提交的就是它,它就是一个我们的job,作业嘛,叫活动的激活的作业,所以啊,咱们回到咱们前面来,只要你调用这样的方法啊,它就会创建一个作业开始执行啊,所以底层呢,我们说一下啊,来底层。
04:11
底层代码中啊,它会咱们叫创建啊,我们的叫active啊,Job啊,并提交执行,所以啊,为什么把它称之为叫行动算子呀,就是因为它触发了整个作业的执行,就是这个意思啊好,那我们来停一下。
我来说两句