Mapreduce:hadoop的计算框架
说到Mapreduce内容很多,就是总结一下大概的框架和运行过程。本来应该在写HDFS后就写Mapreduce的,它们两个是密不可分的。
mapreduce大概框架
Mapreduce是一个计算框架,既然是做计算的框架,那么表现形式就是有个输入(input),mapreduce操作这个输入(input),通过本身定义好的计算模型,得到一个输出(output),这个输出就是我们所需要的结果。
我们要学习的就是这个计算模型的运行规则。在运行一个mapreduce计算任务时候,任务过程被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和输出(output)。而程序员要做的就是定义好这两个阶段的函数:map函数和reduce函数。
数据->输入(input)->(k,v)->输出(output)->数据,这是最简单的线路,下面详细分析:
Mapreduce的运行机制
用实体来解释
首先介绍Mapreduce作业执行涉及的4个独立实体
1.客户端(client):编写mapreduce程序,配置作业,提交作业,这就是程序员完成的工作;
2.JobTracker:初始化作业,分配作业,与TaskTracker通信,协调