天天看点

MapReduce运行流程

一、原理

分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)

二、MapReduce运行流程

1、基本概念

a、Job & Task 一个job分为多个Task Task又分为MapTask和ReduceTask

b、JobTracker

c、TaskTracker

MapReduce运行流程

JobTracker的角色:

a、作业调度

b、分配任务 监控任务的执行进度

c、监控TaskTracker的状态

TaskTracker的角色

a、执行任务

b、汇报任务状态

2、MapReduce作业执行过程

MapReduce运行流程

3、MapReduce容错机制

a、重复执行(一般默认最多重复4次)

b、推测执行

4、应用案例

a、WorkCount单词计数:

计算文件中出现每个单词的频数 输入结果按照字母顺序进行排序

如:

hello world bye world 结果: bye 3

hello hadoop bye hadoop hello 3

bye hadoop hello hadoop hadoop 4

world 2

MapReduce运行流程
MapReduce运行流程

https://www.imooc.com/video/8034 源码

https://www.imooc.com/video/8086

步骤:

  1. 编写WordCount.java 包含Mapper类和Reducer类
  2. 编译 WordCount.java javac -classpath
  3. 打包 jar -cvf WordCount.jar classes/*

继续阅读