00:00
刚才呢,我们是只是按照我们正常的需求啊,实现了这个这个案例,那现在呢。来做一个测试,做一个什么测试呢,这个一。也就是说你前面啊,你分区的时候分了五个区。但是呢,我最最终的时候,我number reduce个数唯一。哎,前面分区012344个分区,那我就让它开启一个reduce开启。会有什么问题?能不能正常工作?结果什么样的,猜一猜。结果什么样的,来开始下下图库了啊,有这个说挂掉的啊。有说正常运行的。能不能正常运行?能不能实现?输出五个文件。真的吗?不知道啊,那我们来看一下啊,看来。
01:02
现在是一哈,好右键。刚好睁大眼睛。结束了,看一下二。走。成功运行了,但是呢,最终的输出结果是。一个啊。分区零。全在这儿的数据。那也就是说没有实现我们分区的一个效果。是这样吗?啊,那他怎么就没按照我的要求去找呢?这也太不靠谱儿了。有必要切吗?啊,比如这个你想想啊,你的number为一,那你前面设置多少个分区,最终是不是都有一个这个进程来处理啊。那最终他是不是。就只能输出一个文件。
02:01
就只能输出一个文件啊,所以这块呢,要注意,它默认的其实也是一默认的这个number,这个test就是一。那只要这个number你不设置它。那你前面你设置N多个分区。啊,没有任何意义啊,所以说这点要注意啊,OK。那这个搞定之后,那下面我将number设成二。能不能运行?前面分区是五个。五个分区后面开启两个test。能运行还是不能运行?为什么?来十块钱的哈。来,开始。到底能还是不能?右键。看啊,那你看走。
03:00
哎,报什么啦。IO异常啊,那大家想想为什么怎么IO异常呢?刚才一个的时候还没事,这怎么到了两个就IO异常了呢?如果你是一个的时候,大家都知道往这一个里去灌就完事了,是吧?哎,不会有任何问题,那你要是两个。那就问你这个零号分级的数据是往这里面放呢,还是往这里面放呢?就晕了,哎,完全就晕了,那就是这种IO他找不到了,不知道他的输出目的地在哪啊。所以说报的是IO异常啊。的是这个两个不行。那我再来。我六个行不行。你原来是五个对吧,这边是五个。啊,那我这边呢,给你开六个map这个radio。行还是不行?行不行,行。确定好,那我们继续啊,来再来演示一下。
04:00
他改一下,改成。右键运行。至少没有报错对吧?啊,没有报错,那我们来看一看,看一看结果。来到这儿。那是四。几个软件。六个文件。哎,六个文件。那我看一下这个零对不对。136没问题对吧?啊,然后下一个呢,137吧,137也没问题。快点过看一下三。三是139。其他啊,那最后一个是什么呢。那就相当于是杀鸡用牛刀了啊。前面你。这个虽然说有五个活对吧,啊,我用六个这个进程去。去对你。那你说其他人都忙的要死啊,最后一个人呢?
05:00
啊,闲着卖单啊,这个跟会超是一样的啊。你看班长这晚上忙的要死啊,他搁那站着闲的要死。是吧,啊,是一样的啊,他接不着活嘛。是这样吗?哎,对。长得太小了啊,这个。所以呢,这个呢,就是啊,多了不行啊,少了不行啊,咱们稍微总结一下啊,稍微总结一下。看那PPT吧,PPT总结啊。在哪里呢,在这呢啊分区的一个总结。首先,如果这个test的数量大于了这个分期的结果。啊,那会产生几个空的输出文件,输出文件哎,输出控件你要大于它就会有空间。那么如果你小于它大于一。那就会报IE长对吧,长OK。那另一个,如果这个reduce task数量为一。
06:03
那你不管你这个ma有多少个,最终呢,都会交一个。就T来处理,那也就最终只能输出一个文件。这是这个原因啊,OK,记住了。分级号必须从零开始逐一累加,只能从零啊,这要注意。下面这是一个案例,呃,假设呢,自定义分级数为五,则设置这个number为一,什么后果呢?哎,正常运行,只不过产生一个输出文件,那下面这来number为二。爆车还有一场。是升为六。是不是有多余控件,哎,对,OK。那这个呢,就是分区这块的一个结哈。
我来说两句