00:00
好,接下来我们看一下这个切片页面啊,给大家这个总结一下哈,那所谓的这个切片啊,其实它是在这个file input form啊,这里面的一个规则啊,啊,刚才大家看了吗?Shift。Input。把它勾上。好,那这里面进来进来之后啊,这是input ma,那它的实现类呢,CTRL加H,诶之后呢,找到这个file input ma对吧?来找它,呃,它这里面啊,其实你按一下CTRL加F42就能看到这里面对应的方法,我们最关心的就是它这里面的get split,你说怎么切的对吧?还是刚才这个代码啊,你想这个不用debug直接开源码的话,采用这种方式就能够看到哈。好,那我们直接看这个PPT。首先你需要记住哪些内容呢?程序啊,是先找找到你数据的存储目录,对吧,能看到你说你这个数据在哪,什么input的这个地方,它得先找到你最原始的数据啊,根据它进行切片呢,哎,先找到它,找到它之后啊,他开始便利你提供的这个目录,你有几个文件。
01:06
那我就循环被列解式,那相当于是对每一个文件进行单独的进行一个切片啊,这是file input ma这种切片规则,那当然其实还有其他这种切片规则啊。买走,那下面呢,说便利第一个文件送送点T,那我们这里面是哈吧哈点T。那首先要获取文件的大小,哎,刚才我们那文件大小是不是60啊,哎,60。再来计算这个切片大小,那这个切片大小这个公式很重要啊,很重要,那这里面涉及到三个重要的核心参数,一个呢是mini size max size,还有block块大小,那这个块大小啊,本地模式默认32兆,集群模式是128兆,那max最大值呢,Long的最大值,Mini size默认值是一。哎,这么精致。好,往下走。呃,默认情况下呢,切片大小呢,是等于块大小,那这是默认情况下,那能不能调整这个块大小呢?当然能调,我想把这个块大小调大。
02:08
怎么调调谁哎,宽大小调大,我调它。对吧,因为你这边结果的值呢,是这个块大小一百十八兆,我想让它调大,我这边可以设置为256兆。那我是不是就大了,因为这是max吗?好,那我想调小呢,调小的话呢,你就调这个max size。把它往小了调,那因为这是MINI3,那我就会取这个它的值,然后呢,这个不动就能得到。好,那这里面举个例子说开始切形成第一个切片送送点tit啊,假如说我们是这个300兆,那个送送点tit啊,行吧,那它是零零到128兆,就切割一片,第二片呢,是128~256又切完了,那第三片呢,剩下的就是44层,哎,但是在这个切的过程当中,它每切一片剩余的内容,比如说我300兆。我第一片呢是减去128。我剪完之后的内容,我一定要除以对应的块大小,比如说再除以128,看它是否大于我切片这个128的1.1倍。
03:10
如果小于,那我就不再切了,嗯,大于,那你正常切在切的时候呢,都是按128啊把它切掉啊,这个这个意思啊。下面呢,将切片信息写到一个切片规划当中,这个咱们也看到了是吧?啊,这种切片文件,整个切片的流程呢,都是在这个get split这个方法当中进行一个完成,那input split呢,只是记录切片的原数据,因为最终形成的是不是来处理啊,是由后续的这个啊MR来处理啊。MR,嗯,Abd master,比如呢,这里面只是记录了。这个位置,比如说你这个切片,切片只是逻辑上的一个记录,还记得吗?哎,块呢,是真正的在物理上的一个切割,块大小,它是真正的切割,但是呢,这个切片只是标记,说你从哪开始到哪结束,它有没有真正切呢?并没有真正的切。
04:01
再来提交切片规划到雅安上,雅安上有一个mrp master,也就说整个job运行的老大,它就会根据你提供的这个切片规划开启对应的map t个数。对吧,刚才我们看那个切片,那个函数返回的值,其实最终就设置给了map test这个个数。哎,麦切片的个数决定了你未来map态色开启多克。好吧,那稍微总结一下,这里面你需要记住的切片大小默认等于块大小,然后呢,如果能证明你看过圆码的话,就是每切一片剩下的内容它都会跟你切片值相除,然后判断是否大于1.1倍,小于1.1倍,那不再切片大于1.1倍,按照块大小正常,按照切片大小正常去切割,然后每一个文件是单独。切片啊,每一个文件都用切片。行了啊,就这些内容就够了。
我来说两句