HADOOP_9_MR程序开发—WORDCOUNT
实验目的
可以使用java语言,重写wordcount程序,掌握mapReduce并行框架的核心思路 先决条件
熟悉java,了解MapReduce的基本编写思路
实验过程
1. 在Eclipse环境下编写WordCount程序,统计所有除Stop-Word(如a, an, of, in, on, the, this, that,…)外所有出现次数k次以上的单词计数,最后的结果按照词频从高到低排序输出 2. 在集群上运行程序,对莎士比亚文集文档数据进行处理
3. 可自行建立一个Stop-Word列表文件,其中包含部分停词即可,不需要列出全部停词;参数k作为输入参数动态指定(如k=10)
编写不依赖Hadoop可单独运行的WordCOunt
public class WordCount { … }
编写WordCountMapper
public static class WordCountMap extends Mapper
编写WordCOuntReducer
public static class WordCountReduce extends Reducer
运行与调试
1. 首先利用 scp 命令将停词文件以及 wordcount 的可执行 jar 传输到集群的 mater节点上面去。然后使用 ssh 命令登录到该节点:
2. 然后在 hdfs 上面我们小组的目录下创建一个 wordcount 目录,以及子目录 input 。然后使用 hadoopfs -put 命令将停词文件拷贝到该目录下
3. 在 wordcount/output 目录下面生成结果文件 part-r-00000 ,打开之后查看结果和预期是否一致。词频从高到低,并且在统计之前已经将标点符号去掉。
可以用hadoop fs -get /wordcount/output/part-r-00000 .命令下载到当前文件夹。也可以打开浏览器:http://localhost:50070/dfshealth.jsp,选择Browse the filesystem来直接查看HDFS上面文件的内容。
相关推荐: