标题 | 基于Spark的分布式大数据分析建模系统的设计与实现 |
范文 | 徐时芳 罗晓宾 陈阳华 摘 要: 针对分布式大数据对数据存储、清洗、转化、聚合、挖掘和分析工作所造成的挑战,设计并实现了一种基于Spark的分布式大数据分析建模系统。该系统通过数据采集、数据存储、数据分析、数据管理和数据应用5个模块,实现结构化、半结构化及非结构化数据的适配采集与离线、在线分析处理;并使用管理和控制平台,实现系统的协调运行。软硬件实现及建模测试结果表明,所提出的系统能实现具体场景故障诊断数据的有效、精确聚类,并可满足大数据处理的速度和精度需求。 关键词: 分布式大数据; Spark; 数据分析; 数据建模; 非结构化数据; 故障诊断 中图分类号: TN919?34; TM76 文献标识码: A 文章编号: 1004?373X(2018)20?0172?03 Abstract: In allusion to the challenges posed by distributed big data to data storage, cleaning, transformation, aggregation, mining and analysis, a distributed big data analysis and modeling system based on Spark was designed and implemented. In the system, adaptive acquisition, offline analysis processing and online analysis processing of structured, semi?structured and unstructured data are realized by using five modules of data acquisition module, data storage module, data analysis module, data managemetn module and data application module. The management and control platform is used to achieve coordinated operation of the system. The results of software and hardware implementation and modeling test show that the proposed system can achieve effective and accurate data clustering for fault diagnosis of specific scenarios and meet the speed and accuracy requirements of big data processing. Keywords: distributed big data; Spark; data analysis; data modeling; unstructured data; fault diagnosis0 引 言 隨着互联网的快速发展,产生了大量复杂多变的结构化、半结构化和非结构化数据[1],对数据存储、清洗、转化、聚合、挖掘及分析工作造成了极大的挑战[2?5]。虽然现有的分布式存储技术能将海量数据存储在服务器集群中[6],但大数据存在结构复杂、格式不统一、不规范的问题,需要去除其中的“糟粕”,以提取出有价值的数据[7];同时,随着数据量呈指数的方式增长,需要更高效的算法和工具来合理分配计算资源[8]。现有的数据处理方式难以实现异构数据的处理。因此,本文借助Spark数据分析技术[9]构建大数据分析建模系统,以提高分布式大数据处理的效率与精度。Spark是加州伯克利分校AMPLab实验室于2009年提出的MapReduce分布式计算的替代方案,具有速度快、通用性和易用性强等特点[10]。相比于MapReduce,Spark通过串联或并联执行多个Stage而无需将中间结果输出到磁盘上[11];Spark使用弹性分布式数据集进行数据存储,可以精确读取每一条记录,并能让用户自定义分区策略;Spark使用事件驱动方式启动任务,能明显减小线程启动和切换开销[12]。 基于上述分析,本文针对分布式大数据分析和挖掘上的痛点,依托于Spark数据分析技术设计与实现了一种分布式大数据分析建模系统。该系统通过集成数据采集、数据存储、数据分析、数据管理和数据应用等功能,对数据进行聚类与分类,并提供预测模型,为信息的挖掘和预测提供支持。1 分布式大数据分析建模系统的设计 本文基于Spark数据分析技术,构建了如图1所示的分布式大数据分析建模系统。在数据采集与存储方面实现了结构化、半结构化和非结构化数据的适配采集。并使用HBase和HDFS存储非关系型数据,使用RDBMS存储关系型数据;在数据处理方面,针对数据处理的不同需求,使用Spark,Hive,Pig和Mahout实现数据的离线处理,再使用Spark和Storm实现数据的高速实时处理;在数据应用方面,实现了数据报告、搜索、可视化以及各种功能性应用、专题应用和预测分析。同时,为了保证系统的协调运行,设计了系统管理和控制平台。下面分别介绍各模块的具体设计与实现。 1) 数据采集模块。该模块使用迁移接口、推送接口组成的采集适配器和Sqoop,实现关系型数据、文档型数据、空间数据及实时业务数据的采集。 2) 数据存储模块。该模块架构如图2所示。使用关系型数据库和分布式文件系统混搭的方式实现数据的存储,并使用统一的数据接口为大数据处理和应用提供数据支撑。其中,使用HDFS构建分布式文件系统来存储离线处理所需的结构化和非结构化数据;使用Oracle数据库存放关系型数据库表数据和数据挖掘元数据,便于进行系统查询、汇总与分析等应用。 3) 数据分析模块。该模块架构如图3所示。其包括实时计算引擎和离线处理引擎两种模式,以支撑大数据计算及任务调度等应用场景。其中,使用Spark计算框架对历史数据进行离线建模和预测分析;使用Spark计算引擎与storm计算组件,实现数据实时分析处理。该模块使用ZooLeeper工具协调配置管理和名字服务,实现集群与分布式的同步管理。 4) 数据管理模块。该模块包括控制台和系统管理两部分。控制台部分主要功能包括:监控管理、应用管理、集群管理、数据源管理和任务计划;系统管理部分主要功能包括:账户管理、安全管理、配置管理和SNMP管理等。 5) 数据应用模块。该模块使用MVC框架和JavaAPI实现HDFS数据的可视化,并使用Spark编程模型实现数据清洗及合并功能;同时,使用Spark SQL和Hive metastore实现可视化数据的查询与建模。2 数据分析建模的具体实现 数据分析建模功能是通过连接各种具有具体功能函数的操作节点,并形成流程来实现。其输入为系统采集的各种数据,输出为建模结果。这里分别从数据导入、数据基本操作、数据建模和数据导出4部分介绍基于Spark的分布式大数据分析建模功能的具体实现。 1) 数据导入。数据分析建模系统不仅可以导入数据文件,还能导入数据库。通过设置导入数据的路径和数据属性参数,将原始数据保存为系统能识别的类型。 2) 数据基本操作。数据分析建模系统所涉及的基本操作包括类型操作、新属性生成、节点连接和数据分区、排序、统计等。 3) 数据建模。本文设计的数据分析建模系统实现了线性回归、K?means聚类和决策树等建模方法。在数据建模过程中,首先将样本数据集分为训练和检测两部分。训练样本用于构建模型,测试样本则用于模型校验。 4) 数据导出。数据导出过程包括写HDFS和写模型两个步骤。写HDFS将数据建模过程得到的验证结果,存储到HDFS文件系统中;写模型将模型以二进制或XML的形式写入文件。本文将K?means模型保存为XML文件的示例如图4所示。3 系统实现与测试 本文使用1台服务器作为控制节点、3台服务器作为计算节点以及1台千兆网络交换机构建仿真系统,并在硬件系统上部署Zookeeper,Hive和Spark等软件环境。集群启动成功后得到的结果如图5所示。 为了验证本文提出的数据分析建模功能的有效性,本部分将上述方法应用到大学生创新创业能力培养策略问题中进行仿真测试,研究适合大学生能力培养的最优路径。在文中构建的测试数据集上,该系统可得到83.3%的预测精度,决策树输出如图6所示。4 结 语 分布式大数据存在结构复杂、格式不统一及不规范的问题。为了提高其处理的效率和精度,本文借助Spark数据分析技术设计并实现了一种分布式大数据分析建模系统。该系统包括数据采集、数据存储、数据分析、数据管理和数据应用5个模块,实现了异构数据的采集、清洗及分析建模功能。软硬件实现与仿真测试结果表明,该系统能实现实际数据的有效、精确建模,并能满足大数据处理的速度、精度需求。 参考文献 [1] ZAHARIA M, XIN R S, WENDELL P, et al. Apache Spark: a unified engine for big data processing [J]. Communications of the ACM, 2016, 59(11): 56?65. [2] MAILLO J, RAM?REZ S, TRIGUERO I, et al. kNN?IS: an iterative Spark?based design of the k?nearest neighbors classifier for big data [J]. Knowledge?based systems, 2017, 117: 3?15. [3] 李洋,何宝灵,刘海涛,等.面向全球能源互联网的分布式电源云服务与大数据分析平台研究[J].电力信息与通信技术,2016,14(3):30?36. LI Yang, HE Baoling, LIU Haitao, et al. Research on distributed generation cloud service and big data analysis platform for global energy interconnection [J]. Electric power information and communication technology, 2016, 14(3): 30?36. [4] 谌志华.基于大数据的网络舆情分析系统[J].现代电子技术,2017,40(24):15?17. SHEN Zhihua. Network public opinion analysis system based on big data [J]. Modern electronics technique, 2017, 40(24): 15?17. [5] 乔非,葛彦昊,孔维畅.基于MapReduce的分布式改进随机森林学生就业数据分类模型研究[J].系统工程理论与实践,2017,37(5):1383?1392. QIAO Fei, GE Yanhao, KONG Weichang. MapReduce based distributed improved random forest model for graduates career classification [J]. Systems engineering?theory & practice, 2017, 37(5): 1383?1392. [6] 焉晓贞,谢红,王桐.一种基于相关分析的多元回归数据估计方法[J].沈阳工业大学学报,2013,35(2):212?217. YAN Xiaozhen, XIE Hong, WANG Tong. Data evaluation method using multiple regression based on correlation analysis [J]. Journal of Shenyang University of Technology, 2013, 35(2): 212?217. [7] 张宸,韩夏.大数据环境下基于SVM?WNB的网络舆情分类研究[J].统计与决策,2017(14):45?48. ZHANG Chen, HAN Xia. Classification research on NPO based on SVM?WNB under big data environment [J]. Statistics & decision, 2017(14): 45?48. [8] 程敏.基于PostgreSQL和Spark的可扩展大数据分析平台[D].深圳:中国科学院深圳先进技术研究院,2016. CHENG Min. Scalable big data analysis platform based on PostgreSQL and Spark [D]. Shenzhen: Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, 2016. [9] 张繁,袁兆康,肖凡平,等.基于Spark的大数据热图可视化方法[J].计算机辅助设计与图形学学报,2016,28(11):1881?1886. ZHANG Fan, YUAN Zhaokang, XIAO Fanping, et al. Research on Heatmap for big data based on Spark [J]. Journal of computer?aided design & computer graphics, 2016, 28(11): 1881?1886. [10] 皮艾迪,喻剑,周笑波.基于学习的容器环境Spark性能监控与分析[J].计算机应用,2017,37(12):3586?3591. PI Aidi, YU Jian, ZHOU Xiaobo. Learning?based performance monitoring and analysis for Spark in container environments [J]. Journal of computer applications, 2017, 37(12): 3586?3591. [11] 卜尧,吴斌,陈玉峰,等.BDAP:一个基于Spark的数据挖掘工具平台[J].中国科学技术大学学报,2017,47(4):358?368. BU Yao, WU Bin, CHEN Yufeng, et al. BDAP: a data mining platform based on Spark [J]. Journal of University of Science and Technology of China, 2017, 47(4): 358?368. [12] 陈虹君,吴雪琴.基于Hadoop平台的Spark快数据推荐算法分析与应用[J].现代电子技术,2016,39(10):18?20. CHEN Hongjun, WU Xueqin. Analysis and application of Spark fast data recommendation algorithm based on Hadoop platform [J]. Modern electronics technique, 2016, 39(10): 18?20. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。