Python基于hadoop的大规模并行数据分析系统原型设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Python基于hadoop的大规模并行数据分析系统原型设计(3)


在数据挖掘算法方面,各个领域的数据挖掘技术也有了一定的进展,产生一批有影响力的算法。但是与国外相比,国内对数据挖掘和知识的发现研究比较落后,没有具有形成影响力的力量。国内许多科研单位和院校开展了知识发现的基础理论及其应用研究。其中北京系统工程研究所对模糊方法在知识发现中的应用进行了比较深入的研究,北京大学正从事数据立方体袋鼠研究,安徽大学、复旦大学、中国科技大学、浙江大学等多所高校和研究所对关联规则挖掘算法的优化及相关领域的研究取得了一定的成果,南京大学、四川联合大学和上海交通大学等单位研究了非结构化数据的知识发现以及web数据挖掘。
本课题希望能够趁着云计算的发展步伐,对海量交通数据处理进行尝试。本课题旨在架起集群并使用数据挖掘技术将智能交通控制系统中的数据充分有效的利用起来,并分析出数据背后潜在的财富和知识。通过集群大大提高了海量数据处理的可能性和算法实现的可能性,充分弥补智能交通控制系统的数据处理缺陷。通过数据处理后反馈的交通状态信息,提供有效的控制依据,并真实有效的缓解交通压力、和充分使用应有的交通能力。
课题中对云技术以及挖掘算法的研究严格按照三层系统结构来进行原型架构。数据挖掘不只局限于交通数据的数据挖掘模型,更可以作为一个通用的数据挖掘平台,实现多各种数据的数据处理功能。希望本课题能对今后数据挖掘开发的发展起到抛砖引玉的作用。
技术背景
本课题是一个综合性质的软件项目,涵盖内容十分广泛。其中包括了Hadoop技术、Hbase技术、Hive技术、Hdfs技术、Python技术、WxPython技术、Json技术以及Socket技术。以下小节将对这些技术做一简单介绍与总结。
平台技术背景
使用Hadoop平台技术作为数据挖掘算法的背后支持。
Hadoop简介
Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。
Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
 
图1-1 Map/Reduce示意图
                     
Hadoop由分布式存储HDFS和分布式计算MapReduce两部分组成。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。MapReduce是Google的一项重要技术,它是一个编程模型,用以进行大数据量的计算。MapReduce的名字源于这个模型中的两项核心操作:Map和Reduce。Map是把一组数据一对一的映射为另外的一组数据,Reduce是对一组数据进行归约,映射和归约的规则都由一个函数指定。
MapReduce编程模型的思想来源于函数式编程语言Lisp,由Google公司于2004年提出并首先应用于大型集群。同时,Google也发表了GFS、BigTable等底层系统以应用MapReduce模型。在2007年,Google’s MapReduce Programming Model-Revisted论文发表,进一步详细介绍了Google MapReduce模型以及Sazwall并行处理海量数据分析语言。Google公司以MapReduce作为基石,逐步发展成为全球互联网企业的领头羊。 (责任编辑:qin)