首页 > 代码库 > hadoop wordCount运行

hadoop wordCount运行

本文以康哥的博客为基础进行修改和补充,详见:http://kangfoo.github.io/article/2014/01/hadoop1.x-wordcount-fen-xi/

hadoop mapreduce 过程粗略的分为两个阶段:

       1.map;

       2.redurce(copy, sort, reduce)

具体的工作机制还是挺复杂的,这里主要通过hadoop example jar中提供的wordcount来对hadoop mapredurce做个简单的理解。

Wordcount程序输入文件类型,计算单词的频率。输出是文本文件:每行是单词和它出现的频率,用Tab键隔开。

步骤:

  1. 首先确保Hadoop集群正常运行,并了解mapredurce工作时涉及到的基本的文件备配。      

    vi mapred-site.xml

    <configuration>
     <property>
      <name>mapred.job.tracker</name> <!--JobTracker的主机(或者IP)和端口。 -->
      <value>master11:9001</value>
     </property>
     <property>
      <name>mapred.system.dir</name> <!--Map/Reduce框架存储系统文件的HDFS路径。-->
      <value>/home/${user.name}/env/mapreduce/system</value>
     </property>
     <property>
      <name>mapred.local.dir</name> <!--Map/Reduce在本地文件系统下中间结果存放路径. -->
      <value>/home/${user.name}/env/mapreduce/local</value>
     </property>
    </configuration>

      2. 上传一个文件到hdfs文件系统       

##在根目录下创建test/input
$ ./bin/hadoop fs -mkdir /test/input
##将当前目录下的testDir/part0复制到/test/input下面
$ ./bin/hadoop fs -put ./testDir/part0 /test/input
$ ./bin/hadoop fs -lsr /
## part0 文件中的内容为:
hadoop zookeeper hbase hive
rest osgi http ftp
hadoop zookeeper

 

     3. 执行workcount 

      $ ./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /test/input /test/output