笔记:Hadoop权威指南 第2章 关于MapReduce

来源:互联网 发布:双功能酶 知乎 编辑:程序博客网 时间:2024/05/16 01:56

一、并行计算遇到的问题

1、难以将任务分成相同大小的作业块

2、将独立进程运行的结果合并后,可能还需要进一步的处理

3、依旧受限于一台计算机的处理能力


二、MapReduce Job 的一些特点

1、MapReduce  job 的定义:客户端要执行的一个工作单元,包括输入数据、MapReduce程序、配置信息。Hadoop 将Job 分成若干个小任务(task) 来执行。其中包括 map 任务和 task 任务。


2、各进程特点:

(1)、JobTracker 调度TaskTracker 运行任务,协调tasks,监督tasktracker,若出现失败可重新在另外一个tasktracker重新调度任务。

(2)、将很多分片分配给Map 函数,实现负载均衡;尽量实现数据本地优化。

(3)、Map 任务将其输出写入本地磁盘,而不是HDFS

(4)、Reduce 不具备数据本地化优势,单个Reduce 任务的输入通常来自所有 Map 的输出

(5)、Reduce 的任务数量是特别指定的,而并非由输入大小决定

(6)、如果有多个Reduce 任务,每个map都会为其输出进行分区 (partion)

(7)、Reduce 任务中,每个key 对应的 所有 value 记录会发送到同一个Reduce 中

(8)、shuffle 混洗, 即是map 任务和Reduce 任务之间的数据流,之所以称为shuffle,因为每个Reduce的任务都会来自很多任务

(9)、combine 可以避免map 任务和reduce 任务之间的数据传输。




 




0 0
原创粉丝点击