hadoop实现wordcount的三种方法

时间:2024-04-09 16:54:16

很多小伙伴在搭建完hadoop集群后,还不太会在上面跑测试程序,作为大数据入门学习的Hello world程序,我总结了三种方法。


第一种:用hadoop上自带的jar包(hadoop-mapreduce-examples-2.7.0.jar)实现

1、如何找到hadoop自带的jar包呢?

路径:/usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar(我的hadoop是安装在linux的usr目录下的)

hadoop实现wordcount的三种方法

2、如何运行,在linux上运行格式是怎样的?

四步:

(1)首先自己在linux本地新建一个txt文件 (vi  /tmp/wordcount.txt)

(2)在分布式文件系统上新建一个存放wordcount.txt的文件夹(hdfs dfs -mkdir hdfs://hadoop-senior:9000/tmp/wordcount_input)

(3)将linux本地wordcount.txt文件上传到分布式文件系统wordcount_input中

(4)用上面我们找到的自带jar包运行wordcount程序hadoop实现wordcount的三种方法

hadoop实现wordcount的三种方法

hadoop   jar   /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar     wordcount    hdfs://hadoop-senior:9000/tmp/wordcount_input/

hdfs://hadoop-senior:9000/tmp/wordcount2_output/  注意:wordcount_input是我们在dfs上自己建立的用于输入文件夹,而wordcount_out是系统生成的用于输出的文件夹(提前新建会报错)

3、结果:看图

hadoop实现wordcount的三种方法

此时会在wordcount_output中生成两个文件,hadoop实现wordcount的三种方法

查看最终结果:hdfs dfs -cat /tmp/wordcount_output/part*hadoop实现wordcount的三种方法


第二种:不用自带的包,我们自己导出JAR包,在集群中运行(3个java源程序,我这里就不提供了)

(1)在eclipse的项目管理器列表中右击WordMain.java,选择export,选择导出为“JAR file”格式

hadoop实现wordcount的三种方法

(2)单击“Next>”按钮,输入JAR包名称,导出jar包后,自己通过WinScp放到linux的一个目录下(我这里是放在staging下)

hadoop实现wordcount的三种方法

(3)新建输入目录

[[email protected]~]$ hdfs dfs -mkdir -p /tmp/wordcount_in

(4)上传文件

[[email protected]~]$ hdfs dfs -put /tmp/WordCount.txt wordcount_in/

(5)运行WordCount,其中的“wordcount_in/”是输入目录,“wordcount_out/”是输出目录(注意在程序运行之前wordcount_out文件夹是不存在)。

格式:hadoop jar [jar文件位置] [jar主类] [HDFS输入位置] [HDFS输出位置]

[[email protected] ~]$hadoop   jar   /staging/wordcount.jar   mapreduce.WordMain    /tmp/wordcount_in    /tmp /wordcount_out/

结果上面一样的,这里就不截图了。


第三种:在IDE中运行,eclipse怎么连接集群请参考这篇博文:http://blog.csdn.net/dopamy_busymonkey/article/details/50672564

(1)Eclipse HDFS文件系统中,在/user/目录下新建一个文件夹(文件夹命名为Window Eclipes连接Hadoop集群的用户名)

hadoop实现wordcount的三种方法

(2)在用户名文件夹下,新建Wordcount_in文件夹,上传WordCount.txt文件

hadoop实现wordcount的三种方法

(3)右键->Run As->RunConfigurations->Arguments(在左边的导航列表点击Java Application选择WordMain Java程序)。

输入目录:hdfs://192.168.85.81:9000/user/15804/Wordcount_in

输出目录:hdfs://192.168.85.81:9000/user/15804/Wordcount_out

hadoop实现wordcount的三种方法

(4)点击运行在输出目录会生成两个文件,part-r-00000文件保存的是运行结果

hadoop实现wordcount的三种方法