MapReduce笔记

本文是根据网络视频学习资料总结,不喜勿喷!!!

原语:

•“相同”的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算。

基本的数据流:•输入(格式化k,v)数据集->map映射成一个中间数据集(k,v)->reduce

为什么叫MapReduce:MapTask & ReduceTask


图1

map阶段: 一个block对应1或多个split,每个split对应一个maptask。split把文件切分成多个切片,每个切片对应一个map任务进行排序,计算,形成<key,value,partition>形式。

reduce阶段:将上阶段map的中间数据集进行shuffle,然后merge,根据原语调用一次reduce任务,把最后的结果进行输出,如图二所示。


图二

下面是一个案例:

图三
图4

理解:

Map阶段:读懂数据;映射成KV模式;并行分布式;计算向数据移动。


Reduce阶段:数据全量/分量加工;Reduce中可以包含不同的key;相同的Key汇聚到一个Reduce中;相同的Key调用一次reduce方法。

运行架构:


图5

图5是Hadoop1.x的计算运行框架,任务资源调度和分配由job Tracker进行管理,如下图:

图6

JobTracker负责将计算上下文,计算程序(Map task)发送到DataNode上。计算结果由reduce task程序处理,汇总得到最后的结果。如下图:


图7

总结:


图8


Hadoop2.x以后使用yarn框架:


yarn资源管理框架

Clients与Resource Manager交互,Clients提交作业到计算框架。RM与NM(Node Manager)保持心跳,当RM收到任务使,会随机挑一个不忙的NM创建App Master,负责任务的调度,App向RM发送资源请求,等资源审核通过,会在其他的NM上创建Container进行实际的计算的任务,不向App master汇报自己的任务状态。当Container出现故障时,App master会定时检测出来,并创建新的Container。

一般RM的端口号为:8088

yarn介绍


yarn介绍


物理架构图

其中Executor就是为了启动APP与NM的连接,使APP与NM进行交互,实现任务调度。

运行测试例子:


案例,wordcount
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MapReduce框架结构## MapReduce是一个用于大规模数据处理的分布式计算模型MapReduce模型主...
    Bloo_m阅读 3,803评论 0 4
  • YarnYarn产生背景:Yarn直接来自于MR1.0MR1.0 问题:采用的是master slave结构,ma...
    时待吾阅读 5,899评论 2 23
  • 大数据技术框架 1. 简介 2. Hadoop框架2.1. Hadoop-MapReduce2.1.1. 简介:2...
    sunTengSt阅读 12,093评论 1 78
  • 转载:MapReduce工作机制 第一部分: 运行流程 当你在MapReduce程序中调用了Job实例的Submi...
    小小少年Boy阅读 3,234评论 0 3
  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,782评论 0 51