00:00
好,上节课啊,我们输出了一个文件,哎,是拉着螺格式对吧?啊,那么这个大小啊,它比较小啊,是1KB左右,那么1KB左右的话呢,那其实它支不支持切片呢,大家关心的是这个问题啊,这个呢,其实呢,它是不支持切片的。对吧,那他要想支持切片,他应该怎么处理呢?啊,需要给它创建对应的索引,那这个文件呢,我们把它删掉啊,因为这个文件比较小,我们换一个比较大的。嗯,这个out删掉,然后呢。在input的目录下呀,把这个read me也给它删掉。那我们传一个大的文件,大的文件在哪呢?在我们之前。上传到OPT。萨贝尔下,哎,有一个big table包拉着罗。对吧,还有个它把它放到这个input目录下,比如说我们FS-put啊big table上传哪里呢?上传到input路径。
01:03
好,那上传成功之后呢,我们检查一下啊。刷新对吧?哎,这里就有一个啊big table拉住罗那,接下来我们来看一下。往下走。下面呢,我们就执行一个word count程序,看一下它要产生几个切片会吧,那这里面就是hi doop价OBD model,然后对应的share,呃,这个share hi world count,这个produce与EXAMPLE4,然后呢,执行world count,对吧?哎,正常的是input路径,Outp路径。那中间这个又是什么意思呢?哎,这里面指定了这个读取的input。变成了拉罗。那为什么要变成它呢?那大家思考一下,你这前面这个文件呢,是拉着罗,然后呢,这中间这是卖的。然后最终输出reduce对吧,那你要读取拉周罗文件,你是不是得用这个拉罗input曼。
02:03
对吧,因为它默认的是test file。对吧,那这里面,那我们就修改一下它啊好。那我们执行一下。走。看一下这里面之行用了几个切片啊,Number of splis是不是一个切片呢啊,一个切片。这里面执行的时间要长一些啊,因为这个拉罗文件呢比较大。那我们看一下这个拉入文件它多大。这里面呢,是214.16兆啊,那正常情况下呢,它是不是应该是两个切片呢?啊,一个呢是128,哎,剩下的部分呢,是另一块,但是呢,实际呢,你看到的效果是它仍然是一个切片,也就说并没有进行一个切片。
03:04
好,执行完毕了,哎,执行完毕我们看一下结果吧,其实看不看这个输出啊,意义不大哈。对吧,这里面有对应的这个输出啊,我们就不用管了。呃,现在的结论呢,就是明明是一个拉着楼文件,但是呢,它并没有,只是贴片。那么我如何让这个蜡烛文件它支持切片呢?那你需要对他创建索引。怎么创建呢?Hi doop价哎,你之前是不是上传了一个插件啊,Hi doop拉之罗0.4.20啊这么插件,然后呢,你后面跟上一个全类名叫com hadoop compress拉罗distribute拉着罗index。啥意思呢?分布式的拉着罗,所以。哎,通过它这个全列名进行创建,然后input路径下面有一个它,哎,对这个文件创建,所以。那好,我们。
04:00
玩一下。那我们看一下这个哪一个路径呢?看一下input的路径这里面。的变化啊,这里面会多一个文件,稍等一下。等他执行完之后,就会多一个索引文件。执行完毕看一下刷新对吧,哎,这里就多了一个big table拉罗index,其实啊,就是对他创建了一些索引。那有了这个索引之后,那接下来我们再次执行对应的这个word程序,那看一看它切片的一个变化,那比如说还件对吧,还是ma啊或count,然后下面呢,是指定input,仍然是拉罗test input,然后输入路径输出路径OK吧。拿过来。
05:00
执行。这一幕当中,你看这块number of splits,比如说切片数啊,变成两个啊,那有同学说该说了,说海哥你这里就是两个文件呢。对吧,那你就应该是两个,哎,不是这样的哈啊,因为我们设置这个输入方式是不是拉住罗input呀,哎,其实呢,如果你这个文件大小啊呃,即使是这样吧,你可以传一个三四百兆的一个文件,那它呢,就会按照正常的128兆啊一块儿呢进行一个切片啊,这个索引呢,不会算在内啊。行,看他一个执行效果啊,执行完了对吧?哎,执行完了之后呢,这里面我们看一下输出。对吧,哎,就有对应的这个输出文件啊,行,那其实我们最关心的就是刚才在执行的过程当中,这里面的切片数已经变成了两个啊。这就是呢,呃,我们要注意一个事项啊,要想让拉德罗啊,他呢支持切片,必须给他创建单独的索引。
06:07
那下面还有一个说明啊,如果你在执行这个呃程序的过程当中,如果报了如下这种错误啊,说啊你这个什么2.4兆of2.1啊,什么虚拟内存什么不够啊类似的,那这个呢,其实就在你配置hi的时候,将那个虚拟内存检测把它关闭掉就行了,之前我说过是你这个3S啊啊和这个呃,JAVA8对应的内存分配上兼容性的一个问题。那你把它关掉就行了,哎,把这个物理内存实际的检测打开就可以啊,就是这块呢,如果发生这问题,那可能你前面没配置好。
我来说两句