MapReduce运行机制

MapReduce采用“计算向数据靠拢”策略,将大文件分解为小分片并行处理。Map任务处理后,中间结果通过Shuffle进行分区、排序、合并,再由Reduce任务处理。体系架构包括Client、JobTracker、TaskTracker和Task,其中JobTracker负责资源调度,TaskTracker定期报告任务进度。Shuffle过程包括Map端和Reduce端,Map端数据溢出写入磁盘并分区排序,Reduce端从Map任务领取数据并归并。
摘要由CSDN通过智能技术生成

MapReduce简介

mapReduce的设计理念是“计算向数据靠拢”,采用“分而治之”的策略,将庞大的数据集切分成多个独立的小分片,并且为每个小分片单独地启动一个map任务,这样多个小切片可以并行地执行map任务,在WordCount里面,一行文本就是一个小切片。其中,map任务地输出又作为reduce任务地输入。
适合mapReduce来处理的数据集需要满足一个前提:待处理的数据集可以分解成许多更小的数据集,且每一个更小的数据集都可以完全并行地处理。
MapReduce采用的是主从架构(Master/Slave),即一个主服务器(master),多个从服务器(slave),master上运行JobTracker,slave运行Task Tracker。
Map和Reduce函数,如下表
在这里插入图片描述
上表的例子是wordCount,统计某个文件夹下的词频统计,在此例中,可以大的数据集就是文件夹的所有文件,分成的小数据是不同的单词,单词之间的频数不存在关联性

MapReduce 体系架构

MapReduce体系结构主要由4部分组成,分别是:Client、JobTracker、TaskTracker以及Task,如下图。
在这里插入图片描述

图1

(1)Client
用户编写的MapReduce程序通过Client提交到JobTracker端,
用户可以通过Client提供的一些接口查看作业运行状态。
(2)JobTracker(运行在主服务器)
负责资源监控和资源调度
监控所有的TaskTracker与Job的健康状况,一旦发现失败,就将相应的任务转移到其他节点
JobTracker会跟踪任务的执行调度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源。
(3)Job Tracker(运行在从服务器)
TaskTracker 会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值