00:00
好,那接下来呢,到我们的第五章的内容啊,呃,那第五章呢,是对于我们整体have,它整体任务的一个优化啊,那我们具体来看一看,那这UR呢,我们分为了map优化,Video优化以及任务整体的一个优化,那在map阶段呢,我们知道,呃,第一个。可以增加map数量啊,当我们这个文件特别复杂,或者说我们的文件呃。特别多的时候,那这个时候呢,我们可以增加我们的一个map数量,那如何增加map数量呢?也就通过这样的一个公式去做计算。它当中的需要。根据我们的。最小值为一,最大值呢是浪的最大值,有一个block size,其实就是block size决定我们的大小。block size我们知道128兆,也就是默认情况下来说呢,128兆会有一个map数。那如果说我们能把这个值提高,那麦克数就减少,如果把它值下降呢,那麦克数量就能够增大了。
01:07
对不对啊,是这样的一个问题,好,呃,那这个呢,其实比较简单,我们想一下,我们只需要将因为来看这个公式啊,它首先从。这大值跟block size当中一个小的,然后从mid size跟刚才取的值当中又取一个大的,其实也就取这三个值的中间值,那么如果我想比128兆大。那中间值是不是应该是m size提的比128差,那假如说我想256兆一个分区,我只要将这个属性设置为256兆即可,那如果说我想64兆一个分区。我只需要将max变为64即可啊,也就是说你要知道根据me和max如何调整我们的切片大小啊,切片大小好,这是第一个,我们的ma数量可以变换第二个小文件进行一个合并。
02:04
小文件的合并,因为我们知道在生产文件当中,我们非常头疼ID的小文件问题,第一个I对于存储小文件效率比较低,因为每一个文件呢,它都会占据我们内node当中的一个原数据信息,嗯,那你小文件。比我大,文件数据量小,但是你所占的原数据信息是一样的,也就是说占用我们name no的内存空间是一样的,所以呢,我宁愿存大文件,不愿意存小文件,而存储效率更高,对不对啊,那但是呢,小文件有时候呢又产生了,那怎么办呢?我们可以对这个小文件进行一个。合并处理对吧?当做多个小文件,当做一个来处理啊,相关的参数呢,给大家去了解一下啊,呃,那当然了,我们可以开启map端预聚合,相当于做了一个。com啊,同时也可以开启推测执行,推测执行就是说我们同时启动多个任务,谁先完成哎,就用谁的结果,当然也不是说对于所有任务都去写到,是相对来说比较慢的一个人可以去做这个事情。
03:07
对吧,那第二块呢,是我们reduce的优化,Reduce优化过程当中呢,那那我们完全也可以设置reduce的数量。啊,可以设置它的一个数量,那它的数量呢,可不像ma那边,我们去通过一个什么算一下对吧,那这个当中呢,当然它也有自己的一个公式啊,首先有第一个。默认的处理数据量,根据数量计算的第二个最大值,那么它是什么公式呢?就我们说的总数入数据量除以第一个参数,跟这个值相比,1009相比,取一个小的。啊,也就是根据数据量来做啊,那还有第二种方案,我们可以直接手动指定尾丢色的数量。可以手动指定为流的数量,可以直接指定,对吧?这种方式更简单粗暴啊,那么呢,为流子个数是不是越多越好呢?那其实不然对吧?嗯,那维四呢,启动和关闭也会消耗时间,第二个如果说维德四个数太多,那每一个维零四分配的数据呢就非常小,那这样明显的产生了资源的浪费了啊,所以说呢,也并不是说越多越好啊。那对于re任务呢,也可以开启一个推测执行,如果说在我们任务执行过程当中,有一个任务很慢,那我们将会给他另外起一个任务。
04:24
对吧,那如果这个任务先走了,那以前老的任务呢,我们就给他干掉就好了,是类似于这样的一个内容,好,这是我们map和reduce阶段的一个优。
我来说两句