经过上上一章博客的介绍,大概了解了hadoop框架的作用和技术组成。同时,在上一章中,配置了hadoop和jdk的环境变量。这一章,体验一下hadoop魅力,虽然说是体验hadoop的魅力,其实我知道,我根本连hadoop的门都还没有踏入,但是我相信,任何事都是由简到难,只要我能坚持下去,总会有那么一天的......
就像当初学习java一样,起初都会从“Hello World”开始。本地运行hadoop自带wordcount和grep案例,wordcount光看单词的意思,大概就能猜到它是统计文件中每个单词的数量。运行这个案例,只要hadoop和jdk的环境变量配置成功即可。
一、进入hadoop的安装目录
执行一下Linux命令:
1、cd /opt/etchome/hadoop-2.7.2 --进入hadoop的安装目录
2、ll --显示当前目录下的文件内容
二、本地运行wordcount案例
执行Linux命令如下:
1、mkdir wcinput --在当前目录下创建一个文件夹,然后在该文件夹中创建input.txt(其实并不需要这么麻烦,可以直接用当前目录的文件,例如NOTICE.txt,README.txt等,不过既然是初学者,这么做就当练习Linux命令了)
2、cd wcinput --进入wcinput文件夹
3、touch input.txt --创建input.txt文件
4、vi input.txt --编辑该文件,在文件中随便输入单词,如下图
5、cd .. --回到上一级目录,即/opt/etchome/hadoop-2.7.2位置
6、hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput/input.txt wcoutput --运行wordcount.jar包,当出现如下图,则表示程序执行成功
7、cd wcoutput --进入输出目录,会有下面两个文件
8、cat part-r-00000 --查看输入文件part-r-00000
可以自行验证输出的结果对不对.....
三、相关命令解释
在执行的命令中,“ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput/input.txt wcoutput ” 这行代码是运行wordcount的。
1、hadoop jar --这是hadoop运行jar包的命令
2、share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar --这是hadoop提供的jar包
可以看看share/hadoop/mapreduce文件夹中的内容:
3、wordcount --运行hadoop-mapreduce-examples-2.7.2.jar中的wordcount案例
4、wcinput/input.txt --输入文件所在位置
5、wcoutput --输出文件所在位置
四、hadoop案例grep
从input文件夹下的文件中,找出符合正则表达式的单词,并存放在output文件夹中。
核心Linux命令如下:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
(有错误的地方,希望大牛们能够指出,小弟一定改正)