您现在的位置:融合网首页 > 云计算 > 应用 >

云计算环境下架构Hadoop集群的数据分配方式

来源:万方数据 作者:李珺 责任编辑:admin 发表时间:2012-02-27 19:16 
核心提示:MapReduce是Google公司的核心计算模型,名字源于函数式编程模型中的两项核心操作:Map和Reduce操作。Map操作独立地对每个元素进行操作,且操作没有副作用;Reduce操作对N个Map结果进行归约,也就是Map[1,2.。.,N]的结果是Reduce操作的参数。

引言

云计算(Cloud Computing)是一种新兴的商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization),负载均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。

它的数据存储是采用分布式存储方式实现的,这就可以保证高可靠性、高可用性和经济性,数据存储的高可靠性是采用冗余存储的方式来保证的,用可靠的软件来弥补硬件的不足,从而提供廉价可靠的海量分布式存储服务和计算服务。另外,数据存储技术必须具有高吞吐率和高传输率的特点。这样云计算系统就可同时满足大量用户的需求,才能为大量用户并行地提供服务。云计算的数据存储系统最著名的是谷歌研发的非开源系统GFS(Google File System)和Hadoop开发团队开发的开源系统HDFS(Hadoop Distributed FileSystem)。

1. MapReduce编程模型

并行计算技术是云计算的核心技术,也是最具战性的技术之一。MapReduce是Google公司的核心计算模型,名字源于函数式编程模型中的两项核心操作:Map和Reduce操作。Map操作独立地对每个元素进行操作,且操作没有副作用;Reduce操作对N个Map结果进行归约,也就是Map[1,2.。.,N]的结果是Reduce操作的参数。在一个指令式语言中求值顺序是确定的,每个函数都有可能会变更或依赖于外部状态,所以必须有序地执行这些函数。在MapReduce编程模型中,只要没有函数修改或依赖千全局变量,N个Map操作的执行顺序可以是无序的,这种特性使得MapReduce模型适合于对大规模数据进行并行处理。

在MapReduce计算模型中,有两个关键过程:映射过程Map和聚集过程Reduce。因此需要用户提供两个关键函数,映射(Map)函数和聚集(Reduce)函数,这两个函数对一组输人的键值对(key/value)进行计算,得出另一组输出键值对,即有:

Map:(in_key, in_value)-{(keyj, valuej)j=l.。.k}

Reduce :(key,[valuel,。..,valuem])一(key, fina_value)

在不同的应用中,Map和Reduce的输人参数和输出结果是不相同的。Map的输入参数in_key和in_value,给S了Map函数要处理的是哪些数据。每个Map函数计算完与后输出结果一组键/值对,它们是经过Mad任务执行完成后所返回的中间结果。系统在执行Reduce任务之前,先检查前面Map任务返回的中间结果,根据Key进行分类处理,把相同key值所对应的value合并在一起把它们送给同一个Reduce任务进行处理,从而可以看出Reduce的输入参数是(key,[ valuel,…,valuem])。Reduc任务主要对这些有着相同key值所对应的value值进行归字处理,在Reduce任务执行完成后输出(key, finaLvalue)的f果。一个key值对应了一个Reduce任务,把所有Reduce千务执行的结果合并连接在一起就形成了最终的输出结果。

(4)MapReduce库把所有具有相同中间key值I的中间value值集合在一起后传递给reduce函数;

(5)用户自定义的Reduce函数接受一个中间key的值I和相关的一个value值的集合。Reduce函数将这些value值合并成一个较小的value值的集合。正常的,每次Reduce函数调用只产生0或I个输出value值。可以通过一个迭代器把中间value值提供给Reduce函数,这样就可以处理无法全部放入内存中的大量的value值的集合。(责任编辑:admin)

  • “扫一扫”关注融合网微信号

免责声明:我方仅为合法的第三方企业注册用户所发布的内容提供存储空间,融合网不对其发布的内容提供任何形式的保证:不保证内容满足您的要求,不保证融合网的服务不会中断。因网络状况、通讯线路、第三方网站或管理部门的要求等任何原因而导致您不能正常使用融合网,融合网不承担任何法律责任。

第三方企业注册用户在融合网发布的内容(包含但不限于融合网目前各产品功能里的内容)仅表明其第三方企业注册用户的立场和观点,并不代表融合网的立场或观点。相关各方及作者发布此信息的目的在于传播、分享更多信息,并不代表本网站的观点和立场,更与本站立场无关。相关各方及作者在我方平台上发表、发布的所有资料、言论等仅代表其作者个人观点,与本网站立场无关,不对您构成任何投资、交易等方面的建议。用户应基于自己的独立判断,自行决定并承担相应风险。

根据相关协议内容,第三方企业注册用户已知悉自身作为内容的发布者,需自行对所发表内容(如,字体、图片、文章内容等)负责,因所发表内容(如,字体、图片、文章内容等)等所引发的一切纠纷均由该内容的发布者(即,第三方企业注册用户)承担全部法律及连带责任。融合网不承担任何法律及连带责任。

第三方企业注册用户在融合网相关栏目上所发布的涉嫌侵犯他人知识产权或其他合法权益的内容(如,字体、图片、文章内容等),经相关版权方、权利方等提供初步证据,融合网有权先行予以删除,并保留移交司法机关查处的权利。参照相应司法机关的查处结果,融合网对于第三方企业用户所发布内容的处置具有最终决定权。

个人或单位如认为第三方企业注册用户在融合网上发布的内容(如,字体、图片、文章内容等)存在侵犯自身合法权益的,应准备好具有法律效应的证明材料,及时与融合网取得联系,以便融合网及时协调第三方企业注册用户并迅速做出相应处理工作。

融合网联系方式:(一)、电话:(010)57722280;(二)、电子邮箱:2029555353@qq.com dwrh@dwrh.net

对免责声明的解释、修改及更新权均属于融合网所有。

今日头条

更多>>
关于我们 - 融合文化 - 媒体报道 - 在线咨询 - 网站地图 - TAG标签 - 联系我们
Copyright © 2010-2020 融合网|DWRH.net 版权所有 联系邮箱:dwrh@dwrh.net 京公网安备 11011202002094号 京ICP备11014553号