教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

MapReduce 2.0应用场景、原理与基本架构

来源:网络收集 时间:2026-08-30
导读: MapReduce 2.0应用场景、原理与基本架构 MapReduce 2.0应用场景、原理与基本架构讲师:董西成博客:http://doc.guandang.net微信号:hadoop-123(二维码见右) Open Passion Value MapReduce 2.0应用场景、原理与基本架构 目录 1. MapReduce的应用场景 2. MapR

MapReduce 2.0应用场景、原理与基本架构

MapReduce 2.0应用场景、原理与基本架构讲师:董西成博客:http://doc.guandang.net微信号:hadoop-123(二维码见右)

Open

Passion

Value

MapReduce 2.0应用场景、原理与基本架构

目录

1. MapReduce的应用场景 2. MapReduce编程模型

3. MapReduce的架构 4.常见MapReduce应用场景 5.总结

MapReduce 2.0应用场景、原理与基本架构

MapReduce的定义

源自于Google的MapReduce论文 发表于2004年12月 Hadoop MapReduce是Google MapReduce克隆版

MapReduce特点 易于编程 良好的扩展性

高容错性 适合PB级以上海量数据的离线处理3

MapReduce 2.0应用场景、原理与基本架构

MapReduce的特色—不擅长的方面

实时计算 像MySQL一样,在毫秒级或者秒级内返回结果

流式计算 MapReduce的输入数据集是静态的,不能动态变化

MapReduce自身的设计特点决定了数据源必须是静态的

DAG计算 多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出4

MapReduce 2.0应用场景、原理与基本架构

目录

1. MapReduce的应用场景 2. MapReduce编程模型

3. MapReduce的架构 4.常见MapReduce应用场景 5.总结

MapReduce 2.0应用场景、原理与基本架构

MapReduce的实例—Wordcount

场景:有大量文件,里面存储了单词,且一个单词占一行 任务:如何统计每个单词出现的次数? 类似应用场景: 搜索引擎中,统计最流行的K个搜索词; 统计搜索词频率,帮助优化搜索词提示

MapReduce 2.0应用场景、原理与基本架构

MapReduce的实例—Wordcount Case 1:整个文件可以加载到内存中; sort datafile| uniq -c Case 2:文件太大不能加载到内存中,但

<word, count>可以存放到内存中; Case 3:文件太大无法加载到内存中,且<word, count>也不行

MapReduce 2.0应用场景、原理与基本架构

MapReduce的实例—Wordcount 将问题范化为:有一批文件(规模为TB级或者 PB级),如何统计这些文件中所有单词出现的次数;

方案:首先,分别统计每个文件中单词出现次数,然后累加不同文件中同一个单词出现次数; 典型的MapReduce过程。

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—WordCount

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—WordCount

Input:一系列key/value对 用户提供两个函数实现: map(k,v) list(k1,v1) reduce(k1, list(v1)) v2

(k1,v1)是中间key/value结果对 Output:一系列(k2,v2)对10

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—WordCountmap(key, value):// key: document name; value: text of document for each word w in value: emit(w, 1) reduce(key, values):// key: a word; values: an iterator over counts result= 0 for each count v in values: result+= v emit(key,result)

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型 MapReduce将作业的整个运行过程分为两个阶段:Map阶段和Reduce阶段 Map阶段由一定数量的Map Task组成 输入数据格式解析:InputFormat 输入数据处理:Mapper

数据分组:Partitioner

Reduce阶段由一定数量的Reduce Task组成 数据远程拷贝 数据按照key排序

数据处理:Reducer 数据输出格式:OutputFo

rmat12

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—内部逻辑HDFS Split 0Read (Inputformat)

Split 1Read (Inputformat)

Split 2Read (Inputformat)

Split 3Read (Inputformat)

MapperMap Task

Mapper c 1 c 1

Mapper a 1 c 1

Mapper b 1 b 1Map阶段

a 1

b 1

Partitioner

Partitioner

Partitioner

Partitioner

Shuffle& SortReduce Task

Shuffle& Sort b 1 b 1 b 1

Shuffle& Sort

a 1Write (Outputformat)

a 1

c 1

c 1Reducer

c 1

Reduce阶段

Reducer

ReducerWrite (Outputformat)

Write (Outputformat)

13

HDFS

Part-0

Part-1

Part-2

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—外部物理结构

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—InputFormat

文件分片(InputSplit)方法 处理跨行问题

将分片数据解析成key/value对 默认实现是TextInputFormat

TextInputFormat Key是行在文件中的偏移量,value是行内容 若行被截断,则读取下一个block的前几个字符

MapReduce 2.0应用场景、原理与基本架构

MapReduce编程模型—Split与Block

Block HDFS中最小的数据存储单位

默认是64MB

Spit MapReduce中最小的计算单元 默认与Block一一对应

Block与Split Split与Block是对应关系是任意的,可由用户控制16

…… 此处隐藏:868字,全部文档内容请下载后查看。喜欢就下载吧 ……
MapReduce 2.0应用场景、原理与基本架构.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1803158.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)