MapReduce实验_统计词频.docx
Hadoop MapReduce 实验 - 词频统计 本实验报告详细介绍了使用 Hadoop 下的 MapReduce 实现词频统计的过程。实验中,我们首先准备了实验环境,包括配置完成的 Hadoop 伪分布式环境、操作系统 Linux、Hadoop 版本 2.7.1 或以上版本、JDK 版本 1.6 或以上版本、Java IDE Eclipse。 在实验中,我们首先创建了三个 txt 文件,分别是 world1.txt、world2.txt、world1.txt,并将其上传到 HDFS 中。在本地创建了一个 WordCount.java 文件,并将其上传到 Hadoop 上。该文件中实现了词频统计的 MapReduce 程序,包括 TokenizerMapper 和 IntSumReducer 两个部分。 TokenizerMapper 类继承于 Mapper 类,四个参数表示其输入键类型为 Object,输入值为文本,输出键为文本,输出值为整型数。TokenizeMapper 的主要功能是对输入数据进行拆分,并将每个字符串的数量统计为 1。 IntSumReducer 类继承于 Reducer 类,四个参数分别表示输入键、输入值、输出键、输出值。Reducer 的主要功能是对数据进行统计,统计每个词的频率。 在实验中,我们还实现了编译和运行 MapReduce 程序。我们配置了 Hadoop Java API 编译环境,然后编译并打包 WordCount.java 文件。我们执行了 WordCount.jar 文件,并将结果输出到 output 中。 在实验的我们还实现了排序功能。我们创建了一个 MergeSort.java 文件,并将其上传到 Hadoop 上。MergeSort.java 文件实现了 MapReduce 程序的排序功能,包括 Map 和 Reduce 两个部分。Map 类继承 Mapper 类,负责对数据进行排序;Reduce 类继承 Reducer 类,负责对数据进行合并和统计。 本实验报告详细介绍了使用 Hadoop 下的 MapReduce 实现词频统计的过程,并提供了实验的详细步骤和代码实现。