MapReduce基本概念与工作流程

MapReduce基本概念 

MapReduce其实是一个并行的计算框架,怎么理解呢?就是他会将一个任务分解成很多个任务给各个单位执行,然后将各个小任务的处理结果合并。这里的分配任务就是Map,合并结果就是Reduce,下面是基本原理图


Input split是将数据分片,然后提交到各个map tasks处理,处理的结果经过交换到对应的reduce tasks,在这里各个任务的结果将被统计处理,最后筛选出最终结果。

 MapReduce运行流程 


这里面的JobTracker和TaskTracker可以理解为两类不同的节点,其中JobTracker是管理节点,负责将分配Map任务和Reduce任务,Map端和Reduce端分别包含了很多个TaskTracker用于处理小任务,最终的输出结果输出到HDFS中存储

MapReduce容错机制 

MapReduce提供了可靠的容错机制,防止出现一些故障,主要有以下两点:

1. 重复执行:当任务出错后,首先重复执行,一般会重复四次,四次后仍出错放弃。

2. 推测执行:当JobTracker检测到某个TasksTracker相比于其他TaskTracker计算慢很多以后,会找一个另外的TaskTracker来计算,谁先计算完就采用谁的结果,慢的就会被终止。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MapReduce框架结构## MapReduce是一个用于大规模数据处理的分布式计算模型MapReduce模型主...
    Bloo_m阅读 3,995评论 0赞 4
  • 一、MapReduce应用场景 Hadoop的Mapreduce是一个使用简单的框架,基于它写出来的程序可以运行在...
    老实李阅读 1,547评论 0赞 9
  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,975评论 0赞 51
  • 一个Map/Reduce 作业(job) 通常会把输入的数据(input file)切分为若干独立的数据块(spl...
    Alukar阅读 6,904评论 0赞 15
  • 还是觉得英文名更加的贴切-------当改变很困难的时候该如何改变。 这是一本谈如何改变的书,刚开始就...
    只跟初心阅读 240评论 0赞 2

友情链接更多精彩内容