MapReduce 实验 (一) 原理

发布时间:2020-07-22 13:49:59 作者:pcdog
来源:网络 阅读:1447

官网

http://hadoop.apache.org/

hadoop三大组件

HDFS:分布式存储系统

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

MapReduce:分布式计算系统

http://hadoop.apache.org/docs/r2.8.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

YARN: hadoop 的资源调度系统

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/YARN.html

回想起以前做过一个中铁轨道激光测量轨道平整的项目,一段50KM的数据库大小是400G,光是找空间复制出来就是头大,现在有了分布式的数据库和计算平台就可以非常方便的进行。

MapReduce 实验 (一) 原理

MapReduce 实验 (一) 原理

Mapper

映射器将输入键/值对映射到一组中间键/值对中。

应用程序可以使用计数器报告其统计数据。

Reducer

Shuffle洗牌

Partitioner分区

Counter计数器

其实MapReduce讲的就是分而治之的程序处理理念,把一个复杂的任务划分为若干个简单的任务分别来做。另外,就是程序的调度问题,哪些任务给哪些Mapper来处理是一个着重考虑的问题。MapReduce的根本原则是信息处理的本地化,哪台PC持有相应要处理的数据,哪台PC就负责处理该部分的数据,这样做的意义在于可以减少网络通讯负担。最后补上一副经典的图来做最后的补充,毕竟,图表往往比文字更有说服力。

MapReduce 实验 (一) 原理

如果那个400G的数据库还在,分成400个任务,每个任务进行1g左右数据处理,理论上速度是原来的400倍。

具体请参考google mapreduce

https://wenku.baidu.com/view/1aa777fd04a1b0717fd5dd4a.html

MapReduce如何工作

让我们用一个例子来理解这一点 –

假设有以下的输入数据到 MapReduce 程序,统计以下数据中的单词数量:

Welcome to Hadoop Class

Hadoop is good

Hadoop is bad

MapReduce 实验 (一) 原理

MapReduce 任务的最终输出是:

bad

1

Class

1

good

1

Hadoop

3

is

2

to

1

Welcome

1

这些数据经过以下几个阶段

输入拆分:

输入到MapReduce工作被划分成固定大小的块叫做 input splits ,输入折分是由单个映射消费输入块。

映射 - Mapping

这是在 map-reduce 程序执行的第一个阶段。在这个阶段中的每个分割的数据被传递给映射函数来产生输出值。在我们的例子中,映射阶段的任务是计算输入分割出现每个单词的数量(更多详细信息有关输入分割在下面给出)并编制以某一形式列表<单词,出现频率>

重排

这个阶段消耗映射阶段的输出。它的任务是合并映射阶段输出的相关记录。在我们的例子,同样的词汇以及它们各自出现频率。

Reducing

在这一阶段,从重排阶段输出值汇总。这个阶段结合来自重排阶段值,并返回一个输出值。总之,这一阶段汇总了完整的数据集。

在我们的例子中,这个阶段汇总来自重排阶段的值,计算每个单词出现次数的总和。

MapReduce如何组织工作?

Hadoop 划分工作为任务。有两种类型的任务:

  1. Map 任务 (分割及映射)
  2. Reduce 任务 (重排,还原)

如上所述

完整的执行流程(执行 Map 和 Reduce 任务)是由两种类型的实体的控制,称为

  1. Jobtracker : 就像一个主(负责提交的作业完全执行)
  2. 多任务跟踪器 : 充当角色就像从机,它们每个执行工作

对于每一项工作提交执行在系统中,有一个 JobTracker 驻留在 Namenode 和 Datanode 驻留多个 TaskTracker。

MapReduce 实验 (一) 原理

推荐阅读:
  1. 有哪三个大数据的来源
  2. 大数据专业是什么类别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据 hadoop ce

上一篇:如何删除PHP目录中所有文件内容

下一篇:你不会还在用这8个错误的SQL写法吧?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》