00:01
好了,那么我们刚才啊,把这个cor呢,给大家说了一下啊,那么接下来呢,我们思考一个问题,我想要扩大分区怎么办?什么叫扩大分区呢?对吧,所以呢,我们来把这个呢给它关掉啊,咱们关掉关掉以后呢,在这里呢,我们来拷贝,然后写上一个11啊写上一个11好点击OK,嗯,放过来,放过来以后呢,那么首先啊,大家可以看到我们现在呢,诶是这个样子啊把这个去掉,然后呢,我们写上一个什么呢?我们的二。然后呢,我写上个三,诶把这个呢,我先去掉啊,我先去掉好了,去掉去掉以后什么意思啊,扩大分区,那么大家可以看到现在呢,我是两个分区,那么123再一个分区,456再一个分区,这是均匀分配的,然后呢,我现在需要的是把这个分区变大啊,我会发现呢,哎呀,分区太小了,每个分区的数据量太大了,怎么办?我想把它变少一些,所以呢,我想什么呢?扩大分区,这样的话,均匀分配每个分区的数据不就减少了吗?而且当你分区数增加以后,你的并行计算的能力不也就增加了嘛,对不对,所以啊,在这种情况下,我希望呢,去什么呢?诶改变分区,让它变大,诶好,咱们看看这个效果啊来,然后呢,我把这个地方呢,来啊同学们看,我把这个呢给它删掉,然后呢delete一下,嗯,好了,那我现在呢再来执行。
01:27
嗯,好了,结果出来了,咱们点开点开以后,诶,不对不对,我们的这个分区数量好像不是三呢,咱们说了,咱们是要把它变成三,你会发现同学们看怎么了,它的这个好像还是两个吧。123456没有变化呀,老师,那这是为什么呢?同学们看啊来,咱们回过头来,咱们接着画这张图,嗯,把这个呢,我们拷贝,拷贝以后咱们接着呢,咱们往下走啊来往下走,嗯。放这边。
02:00
放到这边以后,大家看一下啊,咱们现在呢,这个地方呢,诶稍微的,嗯,这样吧,把这个都去掉啊,把这个都去掉,嗯,都去掉去掉去掉,然后把这个去掉,他也去掉,来往下走,往下走以后大家看一下我们的123,他们是不是应该在一个分区里面啊,对不对,为什么呢?因为均匀分配嘛,然后呢,我们的456。他们是不是应该在一个分区当中啊,所以呢,现在的这个地方大家看没有任何问题,那我现在是不是想要变成我们的三个分区啊,那么你变成三个分区没问题。你的目的就是想一和二在这个分区里面,三和四在这个分区里面,五和六在这个分区里面,对不对?诶,这是对的,可是呀,问题来了,你要想这么做的话,有没有发现我的第二个参数是没传的,你如果没传的情况下,那么数据是不会被打乱重新组合的,那么也就意味着大家看一下一二,诶,如果你放过来,你再把这个三你放过来,把这个四你放过来,你有没有发现我们这个分区的数据被你打乱重新组合了,但是不行,因为我们这里告诉你了,它是不杀Le的,大家看我们点这边是不是不杀Le,所以如果他不杀否的情况下,那么数据是不会被打乱的,那么就意味什么?意味着这样是不是还是三。
03:22
123没有被打乱,重新组合嘛,那同样道理,五和六是不是,同学们想想是不是还是在这儿啊,所以在这种情况下,你就应该发现这个分区是没有任何意义的,所以我们这里呢,要稍微给大家补充一下来,咱们拷贝,嗯拷贝然后呢,拷贝以后呢,我们说这个我们的算子,它是可以扩大分区的啊,扩大分区的嗯,但是如果它啊然如果嗯不进行我们的杀头操作,那么是没有意义的啊,它是没有意义的,为什么呢?因为不起作用嘛,啊没有意义,不起作用。为什么呢?你多余了,你那个分区里面啥都没有,是空的,你不就浪费资源了吗?没有任何的意义,那么通过这个现象你会明白,如果你想扩大分区的话,你是不是就肯定是需要沙uffle啊,对不对,所以给他来一个沙uffle,为什么你要需要沙Le啊,因为要打乱重新组合才能给它放在不同的分区当中嘛,所以啊,来,所以,所以啊,如果想要啊,实现我们扩大分区的能力啊,扩大分区的效果它啊,咱们的这个效果它需要啊使用。
04:33
我们的沙否操作啊,杀否操作,所以啊,咱们这个地方呢,就要写成一个true了,好,那我们再来试一试啊,看一看我们这个地方来delete一下,嗯。行,那我们再重新来执行啊,看一看我们这一回杀了它的效果是什么样子的点。好了同学们,我们现在已经出结果了啊,咱们打开看一看,点点完以后呢,那么我们现在诶三个分区没问题吧,看看一下,点一下三和五,一和六,二和四,虽然说数据可能跟我预想的不一样,对不对,但是它其其实确实均匀分配了,而且是不是三个分区啊,哎,所以这样的话就实现了功能,哎,但这个感觉啊,这个太乱了啊,这个cor呢,又可以缩减分区,又可以扩大分区,那么你不还会导致它的效果起不起作用,那这个就好像不好去记忆对不对,那我们现在就要想个办法把它去好好的去记一记,那怎么记呢?诶我们告诉大家,其实啊,咱们的Spark啊,它提供了一个什么呢?咱们叫简化的操作,什么叫简化的操作呢?诶,咱们告诉大家缩减分区啊,诶你就用咱们的Co就完了,诶就是这样,那如果啊来写上如果啊来如果想要我们叫做什么呢?数据均衡,那么。
05:57
可以采用啊,可以采用我们的沙风,诶就是这样,那么我们扩大分区,那你就不要再使用它了,为什么呢?如果再使用它的话,就感觉有点乱,所以呢,还有另外的一个操作,同学们看啊,来把这个注掉。
06:12
所以把这个注掉啊,注掉以后干嘛呢?不用它了,不用它了以后咱们点点了以后有一个叫re partition就是它,然后呢,写个三,哎,你这么写就行了,所以啊,我们的扩大分区采用的是我们的reparition,哎,老师那这个reparition它能实现同样的效果吗?我告诉大家是可以的,为什么你点击reparition点。点完以后有没有发现它的底层的实现代码就是调用的cor,而且它的沙Le固定为true,所以它自动就会让数据更加均衡对吗?所以啊,我们扩大分区以后就不要再考虑它了,咱们直接用我们的repetition啊,那我们说一下啊,它的底层。它的底层代码呢,它调用啊,调用的它就是我们的,嗯。
07:03
而且。而且肯定采用我们的沙uffle对不对,诶,那这样的话就能更均衡一些了嘛,而且这个时间的效果是没有问题的,你不像这个corre,你要不杀Le的话,你扩大是扩大不了的,对不对,所以啊,这两个给它区分开,我觉得没问题啊,因为两个的含义上底层都是一样的嘛,对不对,只不过看它的效果有区别,嗯。
我来说两句