决定mapreduce性能的工作❖流程

决定mapreduce性能的工作流程

1.有一个待处理的大数据,被划分成大小相同的数据库(如64MB),以及与此相应的用户作业程序。

决定mapreduce性能的工作❖流程

2.系统中有一个负责调度的主节点(Master),以及数据Map和Reduce工作节点(Worker).

3.用户作业提交个主节点。

4.主节点为作业程序寻找和配备可用的Map节点,并将程序传送给map节点。决定mapreduce性能的工作❖流程

5.主节点也为作业程序寻找和配备可用的Reduce节点,并将程序传送给Reduce节点。

6.主节点启动每一个Map节点执行程序,每个Map节点尽可能读取本地或本机架的数据进行计算。(实现代码向数据靠拢,减少集群中数据的通信量)。

7.每个Map节点处理读取的数据块,并做一些数据整理工作(combining,sorting等)并将数据存储在本地机器上;同时通知主节点计算任务完成并告知主节点中间结果数据的存储位置。

8.主节点等所有Map节点计算完成后,开始✪启动Reduce节点运行;Reduce节点从主节点所掌握的中间结果数据位置信息,远程读取这些数据。

9.Reduce节点计算结果汇总输出到一个结果文件,即获得整个处理结果。

mapreduce的技术特征

1、MapReduce 易于编程

它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的机器上运行。也就是说你写一个分布✁式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。

2、良好的扩展性

当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。

3、高容错性

MapReduce设计的初衷就是使程序能够部署在廉价的机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由Hadoop内部完成的。

4、适合PB级以上海量数据的离线处理

可以实现上千台服务器集群并发工作,提供数据处理能力。

Spark和MapReduce相比,都有

mapreduce是一种编程模型,map是映射,reduce是规约。也就是说,有一批数据,map会将这些数据分成好多片小的数据集,然后进行✎处理,然后将所有的结果都合在一起到reduce中去处理,只不过spark中不需要像hadoop中那样每次都是强制性的mapreduce了,而是可以灵♚活地map.map.map.reduce。

mapeduce的功能

MapReduce是一种用于处理大规模数据集的编程模型和计算框架。它的功能主要包括并行处理、分布式计算和容错性。通过将大规模数据集分成小块并分发给集群中的多个计算节点,在每个节点上分别执行Map和Reduce操作。

Map操作将输入数据映射成键值对☃,Reduce操作将相同键的数据进行聚合和汇总。

这种分布式计算模型能够高效地处理大量数据,提供强大的数据处理能力和可扩展性。

同时,MapReduce框架还具备容错性,可以自动处理节点故障,并具备自动重新执行失败任务的能力。

决定mapreduce性能的工作❖流程

原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13032.html