spark学习之WordCount测试

时间:2022-06-19 06:17:53

       今天做的是hadoop中wordcount的测试。那么对unix等等不熟悉的我渐渐觉得坑有点深了,呵呵。

       Hadoop2.6.0的环境是老早就搭好了的,首先启动它吧,唉start-all.sh命令也不知怎么就弃用了,只写一句多方便啊,现在的规范用法是start-dfs.shand start-yarn.sh。好的启动完成,这一次简单地使用一下bin/hdfsdfs命令。

       由于学长给的参考资料是hadoop0.20版本的,这些命令都更新到十万八千里去了,都得自己留心,不然瞎兜圈子。首先切换到hadoop目录下,新建一个文件夹mkdirinput,然后cdinput,在里面创建两个文本文件echo”helloworld”>text1.txt;echo”hellohadoop”>test2.txt.

       接着要放到hadoop自己的文件系统hdfs里,了解到这是一个虚拟的文件系统组织,在unix资源管理下是看不到任何内容的。。这里来了一个坑,使用bin/hdfsdfs –put input in命令想把文件放直hdfs根目录是不能成功的,应该在其下先创建用户的文件目录才行,使用命令bin/hdfsdfs –mkdir /user/lyourmarc/in,然后执行bin/hdfsdfs –put input /user/lyoumarc/in。

       然后就要执行wordcount进行测试了。还是由于hadoop的更新,命令细节有变:bin/hadoopjar ./share/hadoop/mapreduce/sources/hadoop-mapreduce-

examples-2.6.0-sources.jarorg.apache.hadoop.examples.WordCount/user

/lyoumarc/in/*/user/lyoumarc/out,其中in后面如果没有/*,则会被指出提供的路径不是文件的问题,同时out也变成必须不存在才可执行(即使是空文件夹),删除这个文件夹的方法,-rmdir是不行的,应该bin/hdfsdfs -rmr /user/

lyoumarc/out。

       最后成功执行,查看结果用这条命令bin/hdfs dfs -cat out/*,终于出现了结果:

hello   2

wolrd   1

world 1

 

一点小知识补充:

l  ./代表当前目录下

l  文件夹后追加/*代表目录下所有文件