跳转至

实验 5 - MapReduce 编程初级实践

概述

本次实验中,我们需要使用 MapReduce 框架,自行编写 MapReduce 应用程序。实现两个功能,这两个功能都利用了 MapReduce 框架的内部机制。

  • 实现文件合并和去重操作:MapReduce 框架中,对于 Mapper 输出的 <k, v>k 一定是独特(unique)的,我们可以利用这一点来完成“去重”工作
  • 实现对输入文件的排序:在 Shuffle 过程中,MapReduce 框架会按照 key 进行升序排序分发给 Reducer 处理1

本实验需要实验 1 的基础,如果你还未完成,请先完成实验 1.

注意性能需求

在开发过程中,不需要虚拟机、HDFS 和 YARN 处于活跃状态,可在运行时再打开,否则对内存大小 <16GB 的设备将产生明显的内存压力。

开发

类似实验 3、4,你需要:下载示例源码。再修改完成其中设置的填空代码。

具体要求,请查看项目中的 README 文件。


  1. 所幸这是 Java,不是 JavaScript,否则可能就是 1 < 10 < 11 < 123 < 2 < 3 < 4 < 5 了