当前位置:网站首页>分布式计算框架Map/Reduce
分布式计算框架Map/Reduce
2022-07-22 06:03:00 【S_ng】
1. MapReduce是什么?
MapReduce是一种编程模型,是面向大数据并行处理的计算模型、框架和平台。
2. 基本特点
分布可靠,对数据集的操作分发给集群中的多个节点实现可靠性,每个节点周期性返回它完成的任务和最新状态。
封装了实现细节,基于框架API编程,面向业务展开分布式编码。
提供跨语言编程的能力
3.MapReduce运行流程
3.1 MapReduce的主要功能
1. 数据划分和计算任务调度
2.数据代码相互定位
3.系统优化
4.出错检测和恢复
4.MapReduce的运行流程
4.1运行流程
由上图可以看到MapReduce执行下来主要包含这样几个步骤:
1) 首先正式提交作业代码,并对输入数据源进行切片
2) master调度worker执行map任务
3) worker当中的map任务读取输入源切片
4) worker执行map任务,将任务输出保存在本地
5) master调度worker执行reduce任务,reduce worker读取map任务的输出文件
6) 执行reduce任务,将任务输出保存到HDFS
4.2 运行流程详解
- 以WordCount为例
给定任意的HDFS的输入目录,其内部数据为“f a c d e……”等用空格字符分隔的字符串,通过使用MapReduce计算框架来统计以空格分隔的每个单词出现的频率,输出结果如<a,10>,<b,20>,<c,2>形式的结果到HDFS目录中。
- WordCount运行图解
MapReduce将作业的整个运行过程分为两个阶段:Map阶段Reduce阶段。
Map阶段由一定数量的Map Task组成,流程如下:
- 输入数据格式解析:InputFormat
- 输入数据处理:Mapper
- 数据分区:Partitioner
- 数据按照key排序
- 本地规约
- 数据按照key排序和文件合并merge
- 数据处理:Reducer
- 数据输出格式:OutputFormat
通常我们把从Mapper阶段输出数据到Reduce阶段的reduce计算之间的过程称之为shuffle。
边栏推荐
猜你喜欢
Realization of a springboard machine
How to download and install xshell plus6
UE4 set collision body
Polygon chain matic concept and underlying mechanism
[C language interesting experiment]
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
Lepton 无损压缩原理及性能分析
工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03
Write a sequencer plug-in sequence subtitle (1)
LVS负载均衡群集
随机推荐
UE4 level blueprint realizes door opening and closing
JSON_ Incorrect problem returned by extract
[reprint] UE4 interview Basics (I)
IO流的分类和方法
JWT learning
UE4 writes the blueprint in the actor class to realize reuse
GMT 0009-2012数据格式-GO语言操作
抖音怎么注销账号?操作流程步骤有哪些?
JS的DOM操作——事件代理
LVS负载均衡群集
UE4 set night (update skysphere according to directionallight direction)
354. 俄罗斯套娃信封问题
STL resize容量规律集合
Getting started with VIM
DOF depth of field Foundation
polygon 链 matic概念及底层机制
What if win11 encounters a problem and needs to restart?
pytorch优化器: optim.SGD && optimizer.zero_grad()
vim入门
浏览器页面的渲染流程