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

毕业论文移动版

毕业论文 > 计算机论文 >

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


本课题基本内容
本课题在主要目的是充分利用实验室和虚拟机假设Hadoop集群,利用集群的并发计算能力对智能交通系统产生的数据进行分析和管理。使用Hadoop中的分布式文件系统HDFS能够实现数据在计算机集群组成的云上搞笑存储和管理,Hadoop中的并行编程框架Mapreduce能够让并行应用程序运行得以简化。
本课题可以分成三大内容:数据分布存储、分布式并行计算与数据合并、数据挖掘。
Hadoop分布式文件系统HDFS由一个名字结点NameNode和多个数据结点DataNode组成,每个结点都是一台普通的计算机。在使用方式上HDFS与我们熟悉的单机文件系统非常类似,利用它可以创建目录,创建、复制、删除文件,并且可以查看文件内容等。文件在HDFS底层被切割成了Block,这些Block分散地存储在不同的DataNode上,每个Block还可以复制淑芬数据存储在不同的Datanode上,打到容错容灾的目的。NameNode则是整个HDFS的核心,它通过文护一些数据结构来记录每一个文件被切割成的Block以及各个DataNode中获得,以及各个DataDode的状态等重要信息。而海量的智能交通系统数据正需要使用HDFS来进行分布式存储管理。分布式并行计算是利用Hadoop中作为主控的JobTracker,用于跳读和管理其他的TaskTracker。JobTracker可以运行于集群中的任意一台计算机上。TaskTracker则负责执行任务,它必须运行于DataNode上,也就是说DataNode既是数据存储结点,也是计算结点。本课题需要将智能交通系统中的数据分布式存储在这些结点上,然后利用Map任务和Reduce任务来进行分布式并行计算。数据分别存储在集群的计算机上,而计算机会对这部分数据进行计算,这样可以减少数据在网络上的传输,来降低对网络带宽的需求,而且可以方便的扩充结点,正利用这样廉价方便的计算能力来对智能交通数据进行数据挖掘。
    建设高性能的集群目的便是为了实现对海量交通数据的数据挖掘,数据挖掘的过程分为三个阶段:数据准备、模式发现、结果解释。数据挖掘任务是通过数据挖掘的任务算法,在分布式交通数据仓库中选择挖掘的算法数据,执行相应的挖掘操作,将挖掘得到的模式保存到模式库中,最后通过强大的计算能力对这些模式进行分析管理。
系统基本构架
本课题的结构大体上分为三层——分别为:客户表现层,逻辑处理层,后台数据交互层以及集群端的Hadoop应用。
客户表现层
客户表现层为用户提供图形操作界面。用户通过操作界面可以进行数据查看、数据分析、数据交互等操作,表现层是唯一和用户有交互的层面,使用多线程原理,让用户操作起来更加流畅和友好。
表现层使用了Wxpython技术来编写,跨平台技术的使用使得用户对于操作系统没有任何依赖,实现了客户端的平台无关性。
逻辑处理层
逻辑处理层主要是为了响应客户表现层客户产生的事件以及使用后台数据层为表现层提供需要的数据。
课题中逻辑层主要任务是:响应前台事件,提供界面动态布局的逻辑支持;在对海量数据进行查询时,组织动态的SQL语句;响应数据分析事件,组织响应的Hadoop工作语句。
后台数据层
后台数据层封装了常用的查询语句以便业务逻辑层的调用,并为逻辑层封装所需要的数据。
网络连接层和数据连接层
网络连接和数据连接保证了SSH的连接支持,保证了hadoop的工作语句提交;SOCKET下的JOSN包传送与接收;以及Hbase和HDFS的数据支持。
系统所实现的功能
使用SSH通信协议控制远程主机,执行Hadoop工作,调用执行相应的数据挖掘算法。 (责任编辑:qin)