|
|
51CTO旗下网站
|
|
移动端

3.4.1 MapReduce分布式处理技术

《走近云计算》第3章云端漫步,本章将对云计算的基本原理、如何兴起、当前发展状况、有什么优点、云计算模式下网络充当什么角色、云计算的架构、典型云计算平台的介绍、云计算有哪些类型的应用、云计算对我们有什么影响等方面逐一介绍。本节为大家介绍MapReduce分布式处理技术。

作者:王鹏来源:人民邮电出版社|2009-07-30 23:49

3.4  典型云计算平台

云计算的研究吸引了不同技术领域巨头,因此对云计算理论及实现架构也有所不同。如亚马逊利用虚拟化技术提供云计算服务,推出S3(Simple Storage Service)提供可靠、快速、可扩展的网络存储服务,而弹性可扩展的云计算服务器EC2(Elastic Compute Cloud)采用Xen虚拟化技术,提供一个虚拟的执行环境(虚拟机器),让用户通过互联网来执行自己的应用程序。IBM将包括Xen和PowerVM虚拟的Linux 操作系统镜像与Hadoop并行工作负载调度。下面以Google公司的云计算核心技术和架构作基本讲解。

云计算的先行者Google的云计算平台能实现大规模分布式计算和应用服务程序,平台包括MapReduce分布式处理技术、Hadoop框架、分布式的文件系统GFS、结构化的BigTable存储系统以及Google其他的云计算支撑要素。

现有的云计算通过对资源层、平台层和应用层的虚拟化以及物理上的分布式集成,将庞大的IT资源整合在一起。更重要的是,云计算不仅仅是资源的简单汇集,它为我们提供了一种管理机制,让整个体系作为一个虚拟的资源池对外提供服务,并赋予开发者透明获取资源、使用资源的自由。

3.4.1  MapReduce分布式处理技术

MapReduce是Google开发的Java、Python、C++编程工具,用于大规模数据集(大于1TB)的并行运算,也是云计算的核心技术,一种分布式运算技术,也是简化的分布式编程模式,适合用来处理大量数据的分布式运算,用于解决问题的程序开发模型,也是开发人员拆解问题的方法。

MapReduce模式的思想是将要执行的问题拆解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理达到分布运算的效果,再通过Reduce程序将结果汇整,输出开发者需要的结果。

MapReduce的软件实现是指定一个Map(映射)函数,把键值对(key/value)映射成新的键值对(key/value),形成一系列中间形式的key/value对,然后把它们传给Reduce(化简)函数,把具有相同中间形式key的value合并在一起. map和reduce函数具有一定的关联性。

  1. map (k1,v1) -> list(k2,v2)  
  2. reduce (k2,list(v2)) ->list(v2) 

其中v1、v2可以是简单数据,也可以是一组数据,对应不同的映射函数规则。在 Map过程中将数据并行,即把数据用映射函数规则分开,而Reduce则把分开的数据用化简函数规则合在一起,也就是说Map是一个分的过程,Reduce则对应着合。MapReduce应用广泛,包括简单计算任务、海量输入数据、集群计算环境等,如分布grep、分布排序、单词计数、Web连接图反转、每台机器的词矢量、Web访问日志分析、反向索引构建、文档聚类、机器学习、基于统计的机器翻译等。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

我的运维日志系统构建之路

我的运维日志系统构建之路

数据驱动运维
共18章 | 我叫于小炳

191人订阅学习

CentOS文件服务的最佳实战

CentOS文件服务的最佳实战

涨薪跳槽必备技能
共15章 | 追风蚂蚁

88人订阅学习

小白网工宝典

小白网工宝典

一次搞定思科华为
共15章 | 思科小牛

431人订阅学习

读 书 +更多

Visual C# 2005从入门到精通

Microsoft Visual C#功能强大、使用简单。本书全面介绍了如何利用Visual Studio2005和NET Framework来进行C#编程。作者将C#的各种特性娓娓...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客