00:00
接下来我们来讲一下RDD的依赖关系啊,这个依赖关系那我们怎么理解呢?其实大家在之前学习ma问这个框架的时候啊,应该学过依赖,就是我们再去创建项目的时候,你要用到哪些其他的项目,对不对?或者一些我们的第三方的一些模块,我们就需要去依赖于它,或者第三方的内库咱们也需要依赖,对不对,这就叫依赖关系。那么在我们spaug当中,所谓的依赖是什么意思呢?我们这里给大家说一下啊,比方说我们现在呢,有一个我们的A,这个A,这个A呢,干嘛呢?它用到了我们的B,那这个时候呢,我们就说A它依赖于B,这个大家能不能明白,哎,就是我用到你了,那我就依赖于你,为什么没有你我用不了啊,啊好,那么同样道理,这个B它如果用到了什么呢?它用到了C啊,它用到了C,所以啊,就说明我的B它依赖于我们的。
01:01
A,啊,就是这样。所以这个地方呢,我们就写上啊,它叫做什么呢?叫做依赖啊,它叫做依赖啊这个呢,我们也叫做依赖,它叫做依赖,咱们叫做依赖,好,那如果呢,它叫做依赖的话,那么有一个问题呢,A和C是啥关系?所以啊,告诉大家这个A和C这个其实如果在ma框架当中啊,他们应该称之为叫什么呢?叫间接依赖对吧,咱们写上这位应该写上咱们叫做。接啊,咱们写上间接啊依赖,诶就是这样的啊,就是不是直接去依赖的,这个咱们称之为叫间接依赖,但是我告诉大家啊,这个在咱们spaug当中就是这样的东西,它一个连续的这种ABC的这种依赖呢,我们称之为叫血缘。记住啊,就是我们单一的这个A和B之间称之为叫依赖,比方说咱们举个例子啊,我们这里呢,来啊大家看一下。我们现在呢,有一个什么呢?RDD啊RDD1好了啊,这个RDD我翻过来啊它。
02:06
我要想构建RDD1,我得把一个旧的DD呢给它拿过来,那就说明我的RDD1呢,它依赖于我们旧的那个RDD,哎,就是它了,为什么呢,我把它包装起来呢,我就用到它了,那我包装起来,我要用到它的话,那么这个RDD啊,我们写个红色,那么这个呢,我们写上一个我们的绿色啊好,我的箭头呢,就拿过来,记住我用到了你啊,我用到了你,那我就需要什么呢?去把你依赖一下,对不对,那同样道理,我的RDDR要想构建的话,干嘛呢?它需要用到我们的RDD3,所以呢,这时候我们用蓝色来表示啊。好,那这个时候呢,把这个依赖呢,我们也给它复制过来啊,复制过来,所以它们之间也形成了我们的依赖关系,对不对,好,再来啊来再往下,比方说我们再来一个RDD4吧,嗯,好,给它一个四啊嗯,行了,那这是我们的操作,然后呢,把它拿过来放这儿,所以啊,这个呢,就是我们的依赖关系了,那么我说过了,就是相邻的两个RDD之间的关系,我们称之为叫做依赖,对不对,所以啊,咱们在这个地方咱们写上啊来,咱们叫做相邻啊,咱们叫相邻的两个RDD,它的什么呢关系啊,我们称之为叫做依赖关系啊。
03:24
好,那咱们理解这个东西呢,比方说咱们写段代码吧,写段代码嗯,我现在有个RDD,那你这个RDD呢,来放过来。咱们这个RDD,咱们写上一个叫map,然后写上一个我们的下划线乘以二,那么下划线,诶下划线它乘以二,你乘以二是不是就产生了一个新的RDD啊,对不对,咱们叫RDD1,那这个时候是不是说明了咱们要想构建RDD1的话,它必须用到这个旧的RDD啊,所以RDD1不就依赖于RDD吗?说的简单点就是我们新的RDD它依赖于旧的RDD,这个大家能不能明白,所以啊,咱们这里说一下啊,就是我们新的咱们叫新的RDD,它依赖于我们叫旧的RDD,就是这个意思,先把这个依赖是什么概念,咱们先说一下,可是啊,相邻的两个元素叫依赖,那么我们这个上面的间接依赖,就是说他们会有一个A和C的关系,其实啊,咱们这里还不叫A和C的关系,就是这一连套的关系,我们有了一个另外的称呼,叫做血缘关系啊。
04:33
啊,所以啊,我们说一下就是我们多个啊,连续多个,咱们叫多个连续的RDD的依赖关系啊,依赖关系我们称之为叫做血缘关系。诶叫血缘关系,就是我们的这个1234这四个二之间,他们有血缘关系,诶就是这个意思,就类似于我们南方一些家庭当或者家族当中的一些什么叫族,从很早的那些人当中会有个族谱是吧,一层一层的有个分支嘛,也就这个意思啊,所以这个我们叫血缘,我们先把这个我们的依赖关系和血缘关系有个大概的了解之后,咱们再说一下这个血缘关系它的作用是什么。
我来说两句