论文部分内容阅读
现如今互联网信息技术发展越来越快,在短短的几秒时间内积累的数据量已经远远超过GB级别,存储设备的需求从TB级别急速上升到PB级别。为了满足在如此大的数据量中挖掘潜在的商业价值,并且能够使这些数据价值得到体现,人们可以运用数据挖掘算法进行数据分析,从而得到想要的结果。在几十GB级以内的数据量上,传统的单机挖掘是可以做到很好的解决,但是要在上百GB级以上的大数据上运行算法,这无疑是一件很困难的事情,传统方法要消耗很大的服务器计算资源,花大量的时间来运行这些算法,在执行性能效率等问题上都会遇到瓶颈。近年来新兴的大数据处理的引擎Apache Spark框架,在大数据集的处理能力已经得到了多家实验机构的多次验证,和传统数据挖掘方法无法处理海量数据相比,Spark适用于多种不同的分布式平台,可以简单低耗地把各种处理流程整合在一起。本文提出了一种以Spark MLlib为基础的统一数据挖掘服务平台,本文的主要工作如下:1、基于Spark和Hadoop框架的平台分层设计以及各层设计,在已有的OpenStack平台上搭建集群环境,实现分布式并行计算的资源分配管理。各层设计的实现从底层到上层分别为:通信层,云基础层,分析挖掘层,可视化层。2、通信层为各设备的采集层,平台通过对外开放数据接收接口实现数据的采集。云基础层是在基于OpenStack虚拟云平台,搭建Spark集群以及YARN等资源管理器,为分布式计算和存储提供了底层资源。3、挖掘层设计包括了工作流管理模块,数据预处理模块,批量数据挖掘,实时数据挖掘,统一挖掘接口设计模块等,该模块通过用maven项目管理进行后台分层设计,同时采用多种面向对象设计模式,以便满足平台的可扩展性,接口隔离等原则。基于MLlib的机器学习算法进行可配置化,透明化,并采用适配器模式进行统一接口化。4、提供对外的统一接口,并对外发布统一接口服务,以便于第三方调用,包括从http接口,webservice接口,远程RMI调用,管理控制台端口等方式进行数据传输。此外,提供的可视化层在Web端提供一个可视化的流程设计界面,能快速、高效的设计出数据分析挖掘的流程,并根据流程执行挖掘流程。