说明
1. HDFS先挖个坑,以后再补。
2. 本篇第一到第七点是对MapReduce从应用层面上进行简介,而不涉及具体的实现;
3. 第八点内容是编写WordCount的MapReduce程序,并在本机和Hadoop集群上分别启动的全部过程。
4. 如果你已经了解了MapReduce的基本内容,想要快速上手MapReduce的具体案例,那么可以只看第八点。
5. 但是如果有时间的话,还是建议先了解MapReduce的核心思想(第二、三点),以便更好地理解MapReduce的实现过程,对于以后的学习也十分重要。
6. 五、六、七点是编写MapReduce程序前需要了解的预备知识,如果想自己编写MapReduce程序,那么也应当了解一下。
声明:本篇博客是基于尚硅谷的Hadoop2.x教学系列,记录自己进行复现的过程。
教程链接:【尚硅谷】Hadoop2.x框架入门教程丨案例实战,好评如潮_哔哩哔哩_bilibili
Maven相关的内容可以通过另一篇博客快速了解:补充:Maven基础(Windows)_Slothwolf的博客-优快云博客
目录
一、MapReduce是什么
MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。
MapReduce的核心功能是将用户编写的业务逻辑代码和默认组件组合成一个完整的分布式运算逻辑,并发运行在一个Hadoop集群上。
二、核心思想
MapReduce程序一般分为两个阶段:Map阶段和Reduce阶段。
Map阶段的并发MapTask,完全并行,互相不相干。
Map阶段的四个步骤:

Reduce阶段的并发ReduceTask,完全互不相干,但他们的数据依赖于上一个阶段的所有MapTask并发实例的输出。
三、总览
MapReduce编程模型只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,那么就只能多个MapReduce程序串行运行。
四、需要解决的问题

五、MapReduce进程

六、Hadoop中的数据序列化类型

七、MapReduce编程规范
用户编写的程序分为三个部分:Mapper、Reducer、Driver
(1)Mapper阶段

(2)Reducer阶段

(3)Driver阶段

八、WordCount案例实操


0、安装IDEA并配置Maven
可以用Windows,也可以用Linux。
Centos7安装并使用IntelliJ IDEA_centos7安装idea_sugar_hang的博客-优快云博客
1、新建一个Maven工程

2、在pom.xml中添加依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
&

最低0.47元/天 解锁文章
6626

被折叠的 条评论
为什么被折叠?



