ITPub博客

首页 > 大数据 > 数据分析 > 基于云计算的海量数据的挖掘

基于云计算的海量数据的挖掘

数据分析 作者:yangzhenyiyi 时间:2013-10-27 16:21:09 0 删除 编辑

一.为什么需要“基于云计算”?

如果把人类发展的历史看作一条按照一定目的向前延伸的轨迹,那么就会发现,它是沿着信息不断膨胀的方向前进的。今天,互联网应用、商业智能数据分析、科学数据处理等具有海量数据挖掘需求的应用变得越来越普遍,如何高效管理、分析这些海量数据成为当前急需解决的问题;这些数据的异构性(即类型各异的结构化、半结构化以及非结构化数据)又进一步加剧了海量数据处理的难度。

数据挖掘是指从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的过程,能够发现隐含在大规模数据中的知识,从而指导人们决策。数据挖掘主要涉及特征化、区分、关联或相关分析、分类、聚类、演变分析等等,在互联网应用、电子商务、电信、金融、医疗、交通、军事、科学研究等等诸多领域的决策分析中被广泛应用。目前,常用的传统数据挖掘软件有:SQL server 2008SPSSSASRWekaClementineStatistica等等。数据挖掘技术与关系型数据库、数据仓库系统密切相关;通常需要遍历训练数据获得相关的统计信息,用于求解或优化模型参数;在大规模数据上进行频繁的数据访问需要耗费大量运算时间。近年来,数据规模从MBGB级发展到TBPB级甚至EBZB级,数据挖掘的要求和环境也变得越来越复杂,从而形成“数据量的急剧膨胀”和“数据深度分析需求的增长”这两大趋势,使得40年来一体适用的数据库系统架构在海量数据挖掘方面显得力不从心。

分布式计算/并行计算(尤其是低成本的计算)是解决海量数据挖掘任务的有效手段。云计算是并行计算、分布式计算和网格计算等计算机科学概念的商业实现,它可以将计算任务分布在大量互连的计算机上,使各种应用系统能够根据需要获取计算资源、存储资源和其他服务资源。按照中国电子学会云计算专家委员会的学术定义,云计算是一种基于互联网的、大众参与的计算模式,其计算资源(包括计算能力、存储能力、交互能力等)是动态、可伸缩、被虚拟化的,并以服务的方式提供。这个新兴领域中的MapReduceHadoop等高扩展性、高性能的并行计算编程模型、分布式海量数据处理框架以及相关关键技术,使得海量数据存储和分布式计算成为现实。基于云计算的海量数据挖掘技术,依赖于云计算平台提供的低成本分布式并行计算环境,可以为更多、更复杂的海量数据挖掘问题提供新的理论与支撑工具,为愈来愈多的企业分析海量数据提供解决方案,并大大减少它们应用商务智能的成本。

二、       基于云计算的海量数据挖掘技术热点

2004年,Google公司最先提出MapReduce技术作为面向大数据分析和处理的并行计算模型,主要包含3个层面的内容:(1) 分布式文件系统;(2) 并行编程模型;(3) 并行执行引擎。它首先为用户提供分布式的文件系统,使用户能方便地处理大规模数据;然后将所有的程序运算抽象为MapReduce两个基本操作,在Map阶段模型将问题分解为更小规模的问题,并在集群的不同节点上执行,在Reduce阶段将结果归并汇总。MapReduce在设计之初,致力于通过大规模廉价服务器集群实现大数据的并行处理,它把扩展性和系统可用性放在了优先考虑的位置。2005年初,Douglas Cutting等人在开源搜索引擎系统Nutch上实现了一个MapReduce系统;2006年,他们将MapReduceNDFSNutch的分布式文件系统)移出Nutch形成开源搜索项目Lucene一个子项目:Hadoop2008年,Hadoop成为Apache的顶级项目,并逐渐成为一个进行分布式计算和海量数据处理的基础平台;在这个平台之上的一系列项目和技术(如HDFSMapReducePigHiveHBaseZooKeeperSqoop等)构建了一个Hadoop生态圈。

MapReduce并行编程模型和Hadoop平台具有强大的处理大规模数据的能力,最早仅面向搜索引擎领域的数据分析,现已扩展到面向更广泛应用的数据挖掘领域。但是,MapReduce模型适合结构一致的海量数据,且要求计算简单;而大量的数据密集型应用,往往涉及到数据降维、程序迭代、近似求解等等复杂的算法,计算非常困难。因此,基于云计算的海量数据挖掘技术成为了工业界和学术界共同关心的热点技术。下面对一些典型研究和应用进展进行介绍。

斯坦福大学Chu等人在国际学术会议NIPS’2006提出一种基于MapReduce的、适用于大量机器学习算法的通用并行编程框架。他们通过对经典的机器学习算法进行分析发现,算法学习过程中的运算都能转化为若干在训练数据集上的求和操作;求和操作可以独立地在不同数据子集上进行,因此很容易在MapReduce编程平台上实现并行化执行。在该框架下,他们实现了包括线性回归、朴素贝叶斯、神经网络、主成分分析和支持向量机等在内的十种经典的数据挖掘算法。源于这篇论文的思想,在Apache软件基金会资助下,Grant Ingersoll等人研发了一个基于Hadoop/MapReduce的开源机器学习算法库Mahout,致力于数据挖掘并行化。目前,Mahout最新发布版本号为0.5,已经实现了协同过滤、局部线性加权回归、贝叶斯分类器、随机森林决策树分类器、隐马尔科夫模型、奇异值矩阵分解、并行频繁模式挖掘、LDAK-Means聚类、层次聚类、模糊K-Means聚类、均值漂移聚类、谱聚类等算法,可以有效地将并行数据挖掘技术应用于相关大规模数据分析领域。

针对传统数据挖掘软件扩展性差以及MapReduce数据分析功能薄弱的特点,IBM研究院致力于对RHadoop的集成研究,从而将计算推向更高层次的数据挖掘并进行并行处理,使Hadoop获得了强大的深度分析能力。此外,IBM研究院Sun等人认为,MapReduce特别适合倒排序索引、朴素贝叶斯、KNN等单次迭代的数据挖掘算法,也比较适合K-Means、高斯混合、PageRankPLSILDA等需要多次迭代的算法,但并不适合像SVM这类需要对大量共享数据进行同步的算法。2011年,IBM研究院在国际顶级学术会议KDD’2011上指出,MapReduce在执行机器学习领域的算法时存在一些缺点,进而提出一种基于MapReduce的并行数据挖掘和机器学习算法执行工具包NIMBLE

目前,学术界正在加大对基于云计算的海量数据挖掘技术研究的关注,例如SIGMODVLDBKDDSIGIRWWWHPDCICDE等国际学术会议都有论文阐述如何进一步增强MapReduce的数据分析能力。Talia等人提出可以从四个层次提供云计算数据挖掘服务:底层为组成数据挖掘算法的基本步骤;第二层为单独的数据挖掘服务(例如分类、聚类等);第三层为分布式的数据挖掘模式(例如并行分类、聚合式机器学习等);第四层为前三层元素构成的完整的数据挖掘应用。在此基础上,他们设计了基于云计算的数据挖掘开放服务框架,并开发了一系列的数据挖掘服务系统(例如Weka4WSKnowledge GridMobile Data Mining ServicesMining@home等)。例如,标准版Weka工具只能在单机上运行,并且不能超越1GB内存的限制;经过算法的并行化,在MapReduce集群上不仅突破了原有的可处理数据量的限制,轻松地对超过100GB的数据进行分析,同时利用并行计算提高了性能。此外,Ranger等人提出了一个基于MapReduce的应用程序编程接口Phoenix,并实现了K-Means、主成分分析和线性回归三种数据挖掘算法;Gillick等人对单程学习、迭代学习和基于查询的学习三类机器学习算法在MapReduce框架下的性能分别做了评测。

在国内,中科院计算所与中国移动研究院合作研发了基于Hadoop的并行分布式数据挖掘平台PDMiner,集成了多种机器学习算法;从系统架构角度看,自下而上分为:分布式计算层(包括分布式文件系统、并行编程环境、分布式系统管理)、数据挖掘平台层(主要包括数据加载、预处理、并行计算、结果显示等)以及业务应用层(主要是电信类业务应用);达到了商用软件精度,数据处理规模远远超出传统商用数据挖掘软件;已成为中国移动数据挖掘分析支撑工具,应用于TB级的实际电信数据挖掘。此外,中科院计算所还开发了面向Web的数据挖掘云服务平台CMOS;中科院深圳先进研究院研制了一个分布式数据挖掘客户端系统AlphaMiner,服务器为运行于集群的Hadoop平台;南京大学正在研发一个基于Hadoop的并行数据挖掘算法工具箱Dodo,以期实现迭代/非迭代类数据挖掘算法的并行MapReduce化实现,并提供包括资源分配、目录服务、流管理等一系列的组件化数据挖掘云服务。

目前,工业界推出的商用云计算平台有:Amazon公司的EC2S3AWS)、Google公司的Google Apps EngineGAE)、Yahoo!公司的Yahoo Application PlatformYAP)、IBM公司的Blue CloudMicrosoft公司的Windows AzureSalesforce公司的Sales ForceApple公司的iCloudVMware公司的vCloudCloudera的商用Hadoop平台、Apache软件基金会的开源Hadoop平台等。这些平台除了提供基本的分布式存储和计算功能外,有的还具备一些数据挖掘能力。Intel发布了2015未来云愿景,并发起开放式数据中心联盟,以期制定满足下一代数据中心和云计算的需求;Microsoft计划将基于HadoopWindows Server与其现有商务智能挖掘工具(如SQL server 2008)联合处理大数据任务;商务智能领域的各大公司也提供面向企业的大规模数据挖掘服务,例如微策略、IBMOracle等公司都拥有基于云计算的数据挖掘服务平台;GoogleYahoo!Facebook等使用上千个节点组成的Hadoop集群进行海量搜索日志和网页数据分析。

在国内,中国移动、中国电信、中国联通分别展开“大云”、“星云”、“互联云”的项目建设(其中,2011年“大云”已经达到1036个节点、5208CPU10TB内存的规模),主要为商业经营分析、电信、互联网、电子政务等多个领域提供数据挖掘、系统评估、搜索等方面的计算服务。2011年,由国家发改委牵头,联合工信部、财政部拨出15亿元,作为国家战略新兴产业云计算示范工程专项资金,重点推动国内云计算产业发展、扶持云计算领军企业。例如,百度拥有国内最大规模的绿色数据中心集群,计划投入数十亿元发展智能数据服务、典型行业应用和公共云计算平台;阿里巴巴利用Hadoop平台对海量电子商务交易数据进行存储和深度数据挖掘,并于2011年启动10亿元云基金,专注于基于云计算的电子商务、分布式存储和计算技术、数据中心运维技术、大规模/超大规模的数据挖掘和分析的算法等等;腾讯已经在海量社交网络服务数据挖掘和大规模图分析等方面积累了丰富的实践经验,并已经或计划在天津、上海、重庆建立云计算中心和电子商务基地,以利用云计算展开海量数据分析。

但是,基于云计算的海量数据挖掘技术还面临很多挑战,仍存在许多问题等待解决,例如:基于云计算的新型海量数据挖掘方法研究和实现;各种数据挖掘算法的并行化策略;在MapReduce上实现更加复杂的分析、更大规模的分析;关系数据库技术与Hadoop/MapReduce技术的融合;云计算环境下海量数据挖掘服务的迁移学习;云计算环境下海量数据挖掘的可视化、可信性、安全性等等。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22775600/viewspace-1121336/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-10-27