4.9 本章小结
在本章中,主要总体介绍了开发MapReduce程序的一般框架和一些优化方法。
在本章一开始,笔者举例说明了MapReduce的编程。在单节点上完成Map函数和Reduce函数,并且对它们进行测试。待Map和Reduce都能够成功运行后,再在单节点的大数据集进行测试。在进行程序的编写和编译时,最好在集成环境下进行,因为这样便于程序的修改和调试,建议在Eclipse下进行编程。
程序可以在集成环境中运行,也可以在命令行中编译打包,然后在命令中执行。最终的结果也有3种不同的查看方式:在命令行中直接查看;复制到本地文件系统中查看;通过Web用户界面查看。
对于已经能够完成功能性要求的MapReduce程序,还可以从多个方面进行性能上的优化。比如从几个常见的方面入手:变小文件为大文件,减少Map的数量;压缩最终的输出数据或Map的中间输出结果;在Hadoop安装路径下的conf目录下修改属性,使能够同时运行的Map和Reduce任务数增多,从而提高性能。
在本章最后,针对日常处理中的复杂问题,为大家介绍了MapReduce的一些高阶编程手段,将这些方法运用于具体的环境中,能高效直观地解决复杂的MapReduce问题。