当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:随着企业对于互联网需求的不断增加,以及分布式处理、并行处理和网格计算的发展,云计算也在计算机产业中 应运而生。伴随着云计算在各大公司的纷纷上市,大数据这一词眼也吸引着大众的眼球。大数据成为热门话题之后,对于大 数据的处理技术和方法也面临着新的挑战。为应对大数据处理困境,介绍了Google公司提出的MapReduce编程模型的代表性处理方法。

引言

随着互联网的不断发展,云计算也逐步成为各行各业的 热门名词了。云计算作为一项划时代的技术,拥有超级计算 能力和处理能力,用以应对用户对网络资源需求和利用的日益 增大。数据需求日益增长和积累标志着大数据时代已经到来。 大数据的出现引起了各行各界专业人士的密切关注,因此大数 据的管理技术也应运而生。在学术界中,专家们纷纷发布论文 来定义大数据,探讨大数据的处理方法及指出其所面临的挑 战。作为大数据处理的领头羊,Google公司于2004年提出的 MapReduce编程模型受到了大众的广泛关注。

1云计算技术简介

云计算是当今时代IT行业的热点话题,对它的定义各 行各界的专业人士纷纷提出自己的看法。云计算既不是产 品也不是技术,而是一种产生和获取计算能力方式的统称。 Wikipedia网站上给出的云计算(Cloud Computing)的定义是: 一种基于互联网的计算方式,通过这种方式,共享的软硬件 资源和信息可以按需求提供给计算机和其他设备。

云计算的主要特点包含超大规模、虚拟化、高可靠 性、高可扩展性和按需服务。主要形式有基础设施即服务 (Infrastructure as a Service,IaaS)即提供给用户的远程登录终 端界面(虚拟服务器)或者Web Service接口,平台即服务 (Platform as a Service,PaaS)即提供给用户的数据库连接串口 或者中间件部署界面,或者是应用的部署管理界面,软件即服 务(Software as a Service,SaaS)即提供给用户访问应用的客户 端或者Web界面。

2大数据

2.1大数据的定义

对于大数据,专家们目前并没有给出一个确切的定义。 Gartner分析师道格-莱尼(Doug Laney)认为:大数据需满 足三个特点:规模性(Volume)、多样性(Variety)和高速性 (Velocity),合称3V。2012年Gartner修改了对大数据的定义: “大数据是大量、高速,及/或多变的信息资产,他需要新型 的处理方式去促成更强的决策能力、洞察力与优化处理。”还 有提出4 V定义的,即在3V基础上增加一个新的特性一一真 实性(Veracity)。

2.2大数据的出现

互联网日益发达,人们需要的资源或数据量也越来越往 上攀升。数据库作为管理数据的主要方式也满足不了用户们的 需求了。从开始数据库的出现让用户管理数据的复杂度降低, 到Web 2.0时代的数据爆炸一一主要是新型的社交网络微博、 微信等的快速发展和苹果公司和安卓公司的智能手机、平板电 脑等新型移动设备的出现,再到无处不在的传感器设备的使 用,因为这些设备无时无刻不产生新的数据,从而导致大数 据的产生。

2.3大数据的处理流程

与以往的传统数据处理流程相比,大数据的基本处理流 程基本一样,主要区别在于:大数据包含的信息量大,节点多 且属于非结构化的数据,因此在每个处理环节中都需要采用 MapReduce,Dryad等方式进行并行处理。基本流程如图1 所示。

大数据中的 3V 特性包含着多样性,这意味着数据来源广泛、种类多,也说明数据采集需要利用多个数据库来接收数据。采集之后就是数据预处理,即需要对采集到的海量数据进行分析,保证数据的质量和可信度等。数据处理中的分析环节是大数据处理的核心部分,涉及到的数据量较大,系统资源利用率高,需要利用到分布式数据库来对采集到的海量数据进行进一步分析和分类汇总,进而满足用户的常见的分析需求。之后是数据挖掘,即主要是在现有采集到的数据用来进行基于各种算法的技术,从而起到预测的效果,实现一些高级别的数据分析需求。该过程的特点是数据挖掘的算法虽然复杂,计算量和数据量大,但算法的准确率不再是大数据的最主要的指标了。最后是结果展现,换而言之,就是对数据分析后得出的结果展示给用户参考,往往用户也更关心分析后的结果。最常用的的方法就是利用可视化技术,该技术也成功地被科学与工程计算领域采用。现今常被采用的可视化技术有标签云 (Tag Cloud)、历史流 (History Flow)、空间信息流 (Spatial Information Flow)。

3 MapReduce 模型

MapReduce 模型是一种云计算中的并行计算模型的主要研究对象。它通过基于云平台中的大数据进行挖掘,从而获取网页相关数据对其研究得出结果。完整的 MapReduce 执行过程如图 2 所示。

图 2 中,MapReduce 模 型 有 2 个 函 数 :Map 函 数 和Reduce 函数。MapReduce 模型首先获取用户需处理的数据进行 split,然后分别传送到 Map worker 进行处理。Map worker从输入中获得 <key,value> 对集合,然后 Map 函数执行该集合获得中间结果并存入本地硬盘。Reduce worker 先从本地硬盘上获取数据,然后对 <key,value> 中的 key 值进行排序。排序之后 Reduce 函数对这些排序好的对集合进行处理并输出最终结果。

4 MapReduce 的优点

MapReduce 编程模型能够在云计算的大数据处理一直处于领先地位,因为 MapReduce 实行的是分布式并行程序,通过编写简单高效的代码来解决复杂的工作。从图 2 可以看到,MapReduce 有着非常强大又简单的接口 Map 函数和 Reduce函数。

MapReduce 模型有着高度抽象性,程序员不需要关心大数据的具体细节,只需要实现 Map 函数和 Reduce 函数。在图 2 中,每一次 MapReduce 过程中,Map 任务之间是并行的,Reduce 任务之间也是并行的,但两者之间是串行的,并且和具体的节点数目无关,节点的增加或者减少都不会影响程序的执行,即 MapReduce 模型具有可扩展性、可靠性。同时在传统并行编程模型下,包含计算任务,数据同步和通信,对应于MapReduce 模型中的 Map 函数,Reduce 函数和 <key,value>。图 3 所示是传统并行程序与 MapReduce 关系的对应图。

Hadoop 是 Appach 用 java 实现的开源软件平台,可实现MapReduce 模型。并可对大数据进行分布式计算,而且采用的编程语言种类繁多,如 Python,Java,C 等。下面是一个简单的统计词频的 MapReduce 函数,可以看出,MapReduce的核心代码非常简单且易懂 :

map(String key, String value):

for each word t in value:

EmitIntermediate(t, "1");

reduce(String key, Iterator values):

int result = 0;

for each s in values:

result += ParseInt(s);

Emit(AsString(result));

在该例中,Map 函数中的 key 是文件名,value 为文件的内容,Map 函数逐个遍历单词,当遇到一个单词 t,就相对产生一个中间键值对<t,'T>,意味着单词t的数目加1 ; 然后MapReduce模型将键相同的键值对传给Reduce函数, Reduce函数接收到v,值就是以“1”的一串,个数就是单词 v的数目。最后这些单词的数目会被写到用户定义的位置,存 储在底层的分布式存储系统(GFS)。

MapReduce模型的不足

MapReduce模型适用于并行计算,为大数据的处理而设 计开发的。但MapReduce模型也存在许多不足之处。

在大数据密集应用的编程领域,传统的MapReduce模型 中的Map的输入源采用的是DFS,是相对的静态数据,并非 是一个最优的实现,而是使用了蛮力而非索引技术,同时缺 乏了数据库管理系统(DBMS)的大多数特性。比如DBMS中 的Schema的重要性,MapReduce模型缺少这样的预防垃圾 数据机制。

从图2中可以看出:MapReduce模型在处理大数据时, 由Map函数产生大量的中间数据,这些大量的中间数据同时 存在着数据不均衡的特性,比如key过于聚集或key值单一。 key过于聚集即不同key的个数虽然多,但经过映射后,过于 聚集在一起,key值单一即不同key的个数少。

同时,MapReduce模型也存在着性能问题。例如N个 Map实例产生M个输出文件,每个最后由不同的Reduce 实例处理,这些中间结果数据都会输出到运行Map函数机 制的本地硬盘。倘若N=1 000, M=500, Map阶段产生了 N*M=500 000个中间数据或文件。而当Reduce阶段开始时, 500个Reduce实例中,每个都需要读入1 000个数据或者文件, 并用类似FTP协议把它要的输入文件从Map实例运行的节点 上pull取过来。当同时有100的Reduce实例运行,那么2个 或2个以上的Reduce实例同时访问同一个Map节点来获取输 入文件,将导致了大量的硬盘查找,有效的硬盘运转速度至 少降低20%。

在上例中,N M的值都是普通数据(< 10 000), MapReduce模型针对的是大数据,N, M的参数远远要大于上 面的数值,而中间结果数据过大的话,将导致Reduce阶段的 数据倾斜。Reduce阶段的数据倾斜可能带来有的Reduce任 务处理的数据多,而有的Reduce任务处理的数据少,甚至没有。 最严重的是,有的Reduce任务处理的数据超出了本地可用存 储空间,导致整个MapReduce任务失败。

MapReduce模型的改进

MapReduce模型的不足说到底就是MapReduce模型的性能问题,Map/Reduce 的程序效率问题。Google 公司的Hadoop 系统采用了 Combiner 来提高 Map/Reduce 程序效率。Combiner 主要削减了 Map 阶段的输出以减少中间结果数据,进而为网络带宽和 Reduce 阶段减负。数据格式转换格式如下:

Map: (K1, V1) → list(K2,V2)

Combine: (K2, list(V2)) → list(K3, V3)

Reduce: (K3, list(V3)) → list(K4, V4)

插入Combiner 后,MapReduce 的数据流如图 4 所示。

实际上,Combiner 实例在 MapReduce 过 程中是可选的。但是,一个 Combiner 只能处理一个节点中的输出,这和Reduce 阶段有一些区别,Reduce 处理的是中间结果数据。

7 总 结

随着云计算的快速发展,数据和信息量都呈爆炸型增长,大数据也就走入大众的视线。大数据的到来方便了用户,但大数据的处理方法也面临着挑战。本文介绍了云计算和大数据的基本概念,主要探讨了 Google 公司的 MapReduce 模型的优缺点。现今国内外对大数据的相关研究也取得了一定的成果,Microsoft 公司也针对云计算服务器中的大数据研发了Dryad 模型,但就 MapReduce 模型来说,在大数据的处理方法方面存在着极大的挑战。

20211222_61c338596ce76__探讨云计算大数据MapReduce处理方法

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京——2024年4月18日 西门子中国和亚马逊云科技双方高层在西门子中国北京总部会晤,双方宣布签署战略合作协议,共同成立“联合创新团队”。基于亚马逊云科技在生成式AI领域的领先技术和服务,并结合西门子在工业领域的深厚积...

关键字: 生成式AI 机器学习 大数据

随着大数据时代的到来和计算能力的不断提升,机器学习作为人工智能领域的重要分支,正逐渐改变我们的生活方式和工作模式。机器学习涉及多个学科的理论和技术,其应用广泛且深入,为各个领域的发展带来了前所未有的机遇。那么,机器学习具...

关键字: 大数据 机器学习 人工智能

随着大数据时代的来临,数据的价值日益凸显,如何从海量数据中提取有用信息并转化为实际价值,成为各行各业关注的焦点。机器学习和数据挖掘作为两大核心技术,在数据分析和处理中发挥着越来越重要的作用。本文将通过几个典型的应用案例,...

关键字: 大数据 机器学习 数据挖掘

随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐步改变着传统的数据处理和应用方式。云计算通过整合大量分布式计算资源,为用户提供高效、灵活、安全的数据存储和计算服务。在当前数字化、网络化、智能化的时代背景下,云...

关键字: 云计算 数据处理 智能化

Arm Neoverse 旨在为从云到边缘的全场景基础设施用例提供高性能和出色能效。针对需要更高性能的工作负载和用例,Arm 推出了 Neoverse V 系列。其中,Neoverse V2 核心已被行业先行者广泛部署于...

关键字: 云计算 人工智能 CPU

3月22日,OPPO与京东举行战略合作协议签约仪式,双方确立未来三年OPPO在京东全渠道实现销售额同比增长100%的目标。此次签约双方将基于多年良好的合作基础,聚焦产品、营销、服务、渠道四大维度深化战略合作,通过发挥各自...

关键字: 人工智能 云计算 AI大模型

随着互联网的迅猛发展,百度、阿里巴巴、腾讯等互联网巨头逐渐崭露头角,成为了行业的领军者。这些公司在云计算、大数据、人工智能等领域积累了丰富的经验和技术实力,为开发者提供了丰富的服务和工具。在这样的背景下,BAT模块应运而...

关键字: 互联网 云计算 大数据

科技点亮未来,创新驱动发展。随着科技创新的步伐日益加快,2024年将迎来新一轮的突破,有望从根本上重塑整个世界的生活、互动和交流方式。是德科技紧跟技术创新与行业发展动向,于近期发布了2024主要技术趋势预测,内容涵盖云计...

关键字: 云计算 6G AI

科技点亮未来,创新驱动发展。随着科技创新的步伐日益加快,2024年将迎来新一轮的突破,有望从根本上重塑整个世界的生活、互动和交流方式。是德科技紧跟技术创新与行业发展动向,于近期发布了2024主要技术趋势预测,内容涵盖云计...

关键字: 云计算 6G AI

北京——2024年2月26日 日前,领先的IT市场研究和咨询公司IDC发布《IDC MarketScape:全球云计算和以应用为中心的市场供应商评估》1报告,亚马逊位列“领导者”类别。报告指出,“亚马逊云科技Market...

关键字: 云计算 数据库 存储
关闭