温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好同学们,那我们接下来呢,讲下一个啊,咱们叫Co group,嗯,这个方法,这个方法呢,其实不是很好理解,为什么呢?因为这个什么意思呀,不好说,那我们这里呢,给大家来简单的描述一下啊,来把这个呢给它关掉,然后呢,我们来写上一个23。然后呢,点击OK啊,咱们放过来放这边,嗯,放这边以后我来看看啊,咱们就拿这个数据吧,然后这个呢,咱们就不要了啊来咱们接下来讲的这个呢,叫Co group,那这个呢,怎么去理解这个方法呢?其实呀,把它理解为两个单词叫做什么呢?叫connect,再加上一个group就会好一些啊。那从这个理解起来,大家能不能好理解一些呢?它会有一个分组的概念,会有一个连接的概念,对不对?那我们简单来理解就是相同的K放在一个组当中,然后连接在一起啊,那什么意思不好说,咱们来给大家看一看啊来。
01:00
把RDD1我们点一下,然后呢,我们叫做什么呢?Core group,嗯,然后把这个RDD,诶给它拿过来,拿过来以后,然后点我们叫VAR回车,回车以后大家可以看到这就是我们的嗯,Call group r DD诶就是了,然后把这个呢过来点,点了之后呢,我们这里的嗯,然后呢,点我们的,嗯,好,呃,写完之后,现在我们运行啊,看一看效果,这样的话可能会更好理解一些啊,否则呀,光看什么connect呀,Group呀,诶不太清楚什么意思,那我们来看一下它返回的这个类型啊,大家可以看到它首先相同嘛,相同的话,那么我们在A和A相同,但是我们这个ta里面,它不是单一类型的数据,它是一个集合类型的数据,这个就是所谓的group,而这个connect就是连接,把两个连在一块的意思啊,就是这么个概念。好,大家。
02:00
看这个例子,这个当中我们的RDD1当中有个A,那么它这边有一个一,然后呢,我们在RDD2当中有一个四,那么一和四就连接在一起了,然后呢,我们的B,那么二和五,我们的C,我们的C,你会发现在我RDD1当中是没有数据的,然后呢,我们的RDD2当中是有数据,对不对?哎,就这样子,所以啊,看到这个效果,我们有的同学会认为老师这个好像跟外联很像,对不对?比方说你这边是右边嘛,那就好像是以右边为主嘛,那就是我们的right outer join,就这种感觉,但其实不是,为什么呢?咱们举个例子啊,同学看我现在把这个呢,我们来给它写上一个。这个叫做C,这个叫做C,就是有两个相同的K在一个RDD当中,那么它就会把这两个放到一个组当中,然后呢,再跟我们这边做一个连接,这个连接如果没有的话,它就是个空的,哎,就这么一个效果啊,所以说它存在一种特殊的情况啊,那我们来运行一下看效果啊,运行把数据咱们稍微的变了一下啊,变了一下啊,变完了以后,我们来看看效果上跟我们预想的是不是一样的,因为六和七是同一个K嘛,那么同一个数据源的K,它要先做一个分组,分组之后做连接,大家看六和七是不是在一个迭代的集合当中,然后另外一个是空,就是一个空集合,对不对,诶没有问题,所以你通过这种方式来理解一下。
03:30
Core group啊,Connect加上group,还有大家再往下看。看什么呢?我们的RDD1,咱们叫做点,点了以后叫做core group,你会发现啊,咱们提示一下,提示以后你会发现它的这个连接的RDD好像不是说只有一个吧,RDD咱们叫做R1,这个叫R2,然后这个叫三。好像它可以,诶最多好像是可以连接三个不同的RDD吧,对不对,诶连接三个不同的,所以啊,这个在我们特殊的这个场合下呢,我们去什么可以去做一些操作,这个咱们后面呢,咱们再说好不好,同学们啊,现在呢,你就了解一下咱们的这个实现呢,就是一种分组连接的概念啊,所以加个括号,咱们叫做什么呢?分组,然后呢,我们叫连接,好了同学们,咱们这个先讲到这里。
我来说两句