MapReduce原理与实现

Posted exciting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MapReduce原理与实现相关的知识,希望对你有一定的参考价值。

课程链接:Hadoop大数据平台架构与实践--基础篇

1.MapReduce原理

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

问题1:1000副扑克牌少哪一张牌(去掉大小王)

技术分享图片 

问题2:100GB的网站访问日志文件,找出访问次数最多的IP地址

  1. 将日志进行切分(比如按时间)
  2. 各自统计各IP的访问次数
  3. 进行归约,通过IP值进行Hash映射(相同IP归到同一个reduce)
  4. 排序结果

技术分享图片

 

2.MapReduce的运行流程

基本概念

  • Job & Task
    • 一个Job是一个任务(作业),每个Job可分为多个Task,Task分为MapTask和ReduceTask
  • JobTracker(master管理节点)
    • 作业调度(先到先服务、公平调度器)
    • 分配任务、监控任务执行进度(TaskTracker需要给出状态更新)
    • 监控TaskTracker状态(是否出现故障)
  • TaskTacker
    • 执行任务
    • 汇报任务状态

 技术分享图片

  1. 客户端提交Job,JobTracker将其置于候选队列
  2. JobTracker在适当的时候进行调度,选择一个Job,将其拆分多个Map任务和Reduce任务,分发给TaskTracker来做
  3. 在实际的部署中,TaskTracker和HDFS中的DataNode是同一种物理结点(这样可保证计算跟着数据走,读取数据的开销最小,移动计算代替移动数据)

技术分享图片

 

以上是关于MapReduce原理与实现的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop伪分布安装详解+MapReduce运行原理+基于MapReduce的KNN算法实现

Google云计算原理与应用之分布式数据处理MapReduce

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理深入解析Hadoop Common和HDFS架构设计与实现原理

Hadoop技术内幕:深入解析YARN架构设计与实现原理pdf

MapReduce实现WordCount

mapreduce工作原理