原文连接:http://nil.csail.mit.edu/6.824/2020/papers/mapreduce.pdf
相关背景介绍
Map Reduce本身是一种进行分布式计算的处理机制,在Google的实践中其与下一篇论文提到的负责分布式存储的GFS(google file system)通常一起使用。这二者共同结合延伸出了很多进一步的大数据框架,比如鼎鼎大名的Hadoop。
hadoop示意图
这里暂时忽略GFS的使用,专注于介绍Map Reduce的运行机制。值得注意的一点是,Map Reduce的关键并不是map和reduce函数怎么写,而是Master如何对任务进行分发调度,如果因为网络、节点崩溃等任务导致Master没有得到worker的任务完成反馈的话应该如何进行兜底补偿处理。
Map Reduce执行机制
这里原论文的图就进行了很好的展示
概括下来分为以下7步
1、输入的file大小不确定,可能很大也可能很小。如果很大的话将输入的文件分为M个64M大小的文件。 这些文件就是Map任务读取的spli