文章目录
- 零、学习目标
- 一、导入新课
- 二、新课讲解
-
- (一)MapReduce核心思想
- (二)MapReduce编程模型
- (三)MapReduce编程实例——词频统计思路
- (四)MapReduce编程实例——词频统计实现
-
- 1、准备数据文件
- 2、创建Maven项目
- 3、添加相关依赖
- 4、创建日志属性文件
- 5、创建词频统计映射器类
- 6、创建词频统计驱动器类
- 7、运行词频统计驱动器类,查看结果
- 8、修改词频统计映射器类
- 9、修改词频统计驱动器类
- 10、启动词频统计驱动器类,查看结果
- 11、创建词频统计归并器类
- 12、修改词频统计驱动器类
- 13、运行词频统计驱动器类,查看结果
- 14、修改词频统计归并器类
- 15、修改词频统计驱动器类
- 16、启动词频统计驱动器类,查看结果
- 17、采用多个Reduce做合并
- 18、打包上传到虚拟机上运行
- 19、创建新词频统计驱动器类
- 20、重新打包上传虚拟机并执行
- 21、将三个类合并成一个类完成词频统计
- 22、合并分区导致的多个结果文件
- 23、统计不同单词数
- 三、归纳总结
- 四、上机操作
- 五、解决问题
零、学习目标
- 理解MapReduce核心思想
- 掌握MapReduce编程模型
- 理解MapReduce编程实例——词频统计
一、导入新课
- 带领学生回顾项目四HDFS相关的知识,由于MapReduce是Hadoop系统的另一个核心组件,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是目前分布式计算模型中应用较为广泛的一种。因此,本次课将针对MapReduce分布式计算框架进行详细讲解。
二、新课讲解
(一)MapReduce核心思想
- MapReduce的核心思想是“分而治之”。所谓“分而治之”就是把一个复杂的问题,按照一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成整个问题的结果,这种思想来源于日常生活与工作时的经验,同样也完全适合技术领域。
- MapReduce作为一种分布式计算模型,它主要用于解决海量数据的计算问题。使用MapReduce操作海量数据时,每个MapReduce程序被初始化为一个工作任务,每个工作任务可以分为Map和Reduce两个阶段