- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MapReduce 2.0应用场景、原理与基本架构
MapReduce 2.0应用场景、
原理与基本架构
讲师:董西成
博客:dongxicheng.org
微信号:hadoop-123
(二维码见右)
Open Passion Value
目录
1. MapReduce的应用场景
2. MapReduce编程模型
3. MapReduce的架构
4. 常见MapReduce应用场景
5. 总结
2
MapReduce的定义
源自于Google的MapReduce论文
发表于2004年12月
Hadoop MapReduce是Google MapReduce克隆版
MapReduce特点
易于编程
良好的扩展性
高容错性
适合PB级以上海量数据的离线处理
3
MapReduce的特色—不擅长的方面
实时计算
像MySQL一样,在毫秒级或者秒级内返回结果
流式计算
MapReduce的输入数据集是静态的,不能动态变化
MapReduce 自身的设计特点决定了数据源必须是静
态的
DAG计算
多个应用程序存在依赖关系,后一个应用程序的
输入为前一个的输出
4
目录
1. MapReduce的应用场景
2. MapReduce编程模型
3. MapReduce的架构
4. 常见MapReduce应用场景
5. 总结
5
MapReduce的实例—Wordcount
场景:有大量文件,里面存储了单词,
且一个单词占一行
任务:如何统计每个单词出现的次数?
类似应用场景:
搜索引擎中,统计最流行的K个搜索词;
统计搜索词频率,帮助优化搜索词提示
6
MapReduce的实例—Wordcount
Case 1:整个文件可以加载到内存中;
sort datafile | uniq -c
Case 2:文件太大不能加载到内存中,但
<word, count>可以存放到内存中;
Case 3:文件太大无法加载到内存中,且
<word, count>也不行
7
MapReduce的实例—Wordcount
将问题范化为:有一批文件(规模为TB级或
者PB级),如何统计这些文件中所有单词出
现的次数;
方案:首先,分别统计每个文件中单词出现
次数,然后累加不同文件中同一个单词出现
次数;
典型的MapReduce过程。
8
MapReduce编程模型—WordCount
9
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编程模型—WordCount
map(key, value):
// key: document name; value: text of document
for each word w in
文档评论(0)