Hadoop MapReduce概念学习系列之MapReduce模型(十二)

简介:

在并行计算领域最著名的就是MPI模型,MPI是一种消息传递编程模型,在大规模科学计算领域已经成功应用了数年,而MapReduce则是一种近几年出现的相对较新的并行编程技术,但是MapReduce计算模型也是建立在数学和计算机科学基础上的,实践已经证明这种并行编程模型具有简单、高效的特点,最为重要的两个概念就是Map和Reduce.最基本的处理思想就是“分而治之,然后归约”。Hadoop会将一个大任务分解为可以同时执行的多个小任务,从而达到并行计算的目的。举个简单的例子,对于一个大型任务,单机处理需要1024分钟,而分解为1024个子任务并行执行就可在1分钟完成处理。在对处理的数据集的要求上,相比于传统关系数据库的结构化数据,MapReduce模型的Hadoop框架适合半结构化或非结构化的数据。

  Hadoop通过自动分割将要执行的问题(程序)、拆解成Map(映射)和Reduce(化简)的方式,其分解过程的实质是将问题分为几个部分,划分为可以应用于程序的数据,再将数据分解,然后对分解的数据进行并行操作,在自动分割后通过Map程序将数据映射成不相关的区块,分配(调度)给大星的i十算机进行处理以达到分散运算的效果,再通过Reduce程序将结果汇总整合,输出开发者需要的结果。  

  Hadoop向用户提供了一个规范化的MapReduce编程接口,用户只需要编写Map和Reduce函数,这两个函数都是运行在键-值对基础上的,数据的切分,节点之间的通信协调等全部由Hadoop框架木身来负责。一般一个用户作业提交到Hadoop集群后会根据输入数据的大小并行启动多个Map进程及多个Reduce进程(也可以是0个或者1个)来执行.MapReduce也具有弹性适应性,小数据和大数据仅仅通过调整节点就可以处理,而不需要用户修改程序MapReduce模型处理流程如下图所示。

  上图就是MapReduce的数据处理流程图,在Map之前会对输入的数据有split的过程,默认split就是写人数据时的逻辑块,每一个块对应一个split,一个split就对应一个Map进程,正是split保证了任务的并行效率。在Map之后还会有shuffe和sort的过程.shuffle简单描述就是一个Map的输出应该映射到哪个Reduce作为输入,sort就是指在Map运行完输出后会根据输出的键进行排序。这两个处理步骤对于提高Reduce的效率及减小数据传输的压力有很大的帮助。
从本质上讲MapReduce借鉴了函数式程序设计语言的设计思想,其软件实现是指定一个Map函数,把键值对(key/value)映射成新的键值对(key/value),形成一系列中间结果形式的键值对(key/value ),然后把它们传给Reduce(归约)函数,把具有相同中间形式key的value合并在一起。Map和Reduce。函数具有一定的关联性。其算法描述为:

  Map(k, v) ->list(k1,v1)
Reduce(k1,list(v1)) ->list (v1)
在Map过程中将数据并行,即把数据用映射函数规则分开,而Reduce则把分开的数据用归约函数规则合在一起,即Map是个分的过程,Reduce则对应着合。

 

 

 

本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5080590.html,如需转载请自行联系原作者

相关文章
|
9月前
|
分布式计算 Hadoop 大数据
Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)
Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)
105 0
|
30天前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
211 0
|
2天前
|
存储 分布式计算 Hadoop
Hadoop Distributed File System (HDFS): 概念、功能点及实战
【6月更文挑战第12天】Hadoop Distributed File System (HDFS) 是 Hadoop 生态系统中的核心组件之一。它设计用于在大规模集群环境中存储和管理海量数据,提供高吞吐量的数据访问和容错能力。
16 4
|
30天前
|
存储 分布式计算 监控
Hadoop【基础知识 01+02】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
163 2
|
14天前
|
存储 分布式计算 Hadoop
Hadoop节点数据块概念与功能
【5月更文挑战第21天】
22 1
|
16天前
|
存储 分布式计算 Hadoop
hadoop节点HDFS数据块基本概念
【5月更文挑战第19天】
22 1
|
30天前
|
分布式计算 Hadoop 大数据
Hadoop【hadoop学习大纲完全总结01+02+03+04+05】【自学阶段整理的xmind思维导图分享】【点击可放大看高清】
【4月更文挑战第5天】Hadoop【hadoop学习大纲完全总结01+02+03+04+05】【自学阶段整理的xmind思维导图分享】【点击可放大看高清】
50 5
|
30天前
|
分布式计算 监控 Hadoop
Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
153 0
|
30天前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
323 0
|
30天前
|
存储 分布式计算 资源调度
干翻Hadoop系列文章【03】:MapReduce概念详解
干翻Hadoop系列文章【03】:MapReduce概念详解

相关实验场景

更多