张运涛 巩华伦 徐召阳
摘要:随着信息化的不断发展,各行各业已开发了众多计算机信息系统积累了大量的基础数据。然而,由于系统建设时期,开发部门、所使用设备、技术发展阶段和能力水平的不同,造成了数据存储分散和过量的数据冗余和数据不一致性的问题,使得对数据资源难以高效的利用,管理层无法快速从海量数据中获得有效的决策数据支持。因此如何有效的数据收集,数据存储,数据抽取,整合不同来源的基础数据是当前我们需要解决的主要问题。
关键词:海量数据;决策;spark;数据抽取
背景
随着数据量的不断增加各企业对如何实现海量数据的收集存储抽取整合为一体系统需求比较强烈,因为海量的数据只有合理有效的被利用才能发挥出数据本身的最大价值,为了能够准确快速高效的为企业管理者提供决策支撑,解决数据源分散、数据冗杂等特点,并对海量数据集整合,实现数据实时可视化查询和关联查询,解决实际需求,解决数据整合的繁琐,加快企业业务效率。
系统架构设计
基于spark的数据抽取整合决策分析系统一个基于数据处理系统,主要是面对数据源异构,缺乏规范的处理方法和经验的数据集成系统,可以通过本系统可以达到将不同数据源数据库中多个相似的数据表整合为一个数据表的过程,可以将杂乱的海量数据进行抽取统一化整理,提高数据整合的效率。通过本系统可以查看整合后数据的来源保证数据的可靠性;此外自动聚类算法实现数据表和数据表之间关系的分析,在我们查询表的数据同时是可以查看到哪些表是相关联的。
本系统主要的功能分为以下几个:
(1)数据收集:收集不同系统,平台,时期产生的多源异构数据。系统需要实现对数据表的管理包括创建删除修改基本操作,字段整合,数据迁移。根据系统对数据处理的时效性可将数据据归集分成离线和实时两种。对于离线的数据集,采用DataX工具来进行异构数据源的同步。而对实时数据的处理,采用的是Kafka来进行实时数据的对接。Kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition,consumer group 对partition进行consume操作。Kafka集群支持热扩展,可以收集各种服务的日志。其作為中间件不仅可以对消息起到缓存作用,并可以对实时计算提供源源不断的数据。对无论何种方式收集来的数据,我们都需要验证数据的合法性,准确性,防止数据传输收集过程中被篡改。在我们对数据集进行存储时,要加上元数据的标识,包括数据的来源,数据的安全级别以及其他必要的属性,以便后期的数据检索和管理。
(2)数据处理:对于收集到的原生数据不可避免的会存在数据格式无法满足数据处理要求的情况,需要对这些数据集进行处理转化为所需的较为规整的数据。主要包含数据的标准化,清洗与整合操作。对于离线数据主要是定时批量去统计数据。而对与实时数据的处理采用的是Spark Streaming,其本身具有低延迟高性能 容错性等特点可以较好的满足数据实时处理要求。
(3)数据的存储和安全:大数据一重要问题是保证数据的存储和安全,本系统根据业务应用的需求,构建了一套具有高可扩展性,数据处理能力的多元异构数据存储中心,包含海量分布式文件系统,非关系型数据。本系统以数据为中心数据安全则是重中之重,可以从访问控制,数据保护,网络安全,和事件监控四个方面保护数据安全。
业务流程分析设计
主要的业务流程为开始创建数据表,即基础表信息的创建;然后为数据表添加映射,该映射为原始数据表与整合数据表之间的映射,映射的目的是进行整合数据表的准备工作;然后将字段按照映射进行整合,将整合后的数据表按照字段基础属性创建实体表,并将原先的数据按照整合字段与字段之间的映射关系迁移到所创建的实体整合表中;其次对所迁移的数据进行一致性检测,检测并去除格式不符或一致的数据,然后将数据标准输出,以下是主要的业务流程图2-1。
Spark计算框架
Spark是专为大规模数据处理而设计的并行框架,拥有Hadoop Mapreduce所具有的优点,但不同的是,其中间结果可以保存在内存中,从而减少了读写HDFS文件的次数,因此会具有较快的处理速度。Spark提供了量的的库,开发者可以在一个应用程序中无缝组合使用这些库,具有更通用性。对于本系统来说,主要使用的是Spark Streaming,核心思想是将Stream数据分成小的时间片段,以类似batch批处理的方式来处理这小部分数据,实现实时的计算处理。
平台系统架构
本系统利用 Kafka 和 Spark Streaming 框架设计的分布式流数据处理平台的系统架构如图所示,包括数据接收部分、Kafka 消息订阅系统、数据处理程序、以及数据存储部分。通过对数据整合系统的设计与开发,对数据整合知识认识更深入,以及数据整合系统在今后企业管理中的必要性,数据整合也需要不断去深入挖掘数据进行对数据的利用。分析数据间的关联、内容等特性。对于数据的安全和完整性,所有的企业都是尤为重视的,面对大的数据量和多种类的数据类型,要完善对数据的维护,使数据更具有安全性和权威性。
参考文献
[1]Janis Kampars.An Approach to Parallelization of Remote Data Integration Tasks[D].Riga Technical University: Janis Kampars; Janis Grabis,2011.
[2]滑玉.JSP程序设计[M].人民邮电出版社:范立锋,乔世权,程文彬,2009.
[3]何丽,龚旺.jQuery在AJAX技术框架中页面加载的应用[J].计算机时代,2011,(8): 25-26
[4]Wenlan Chen.Enterprise Information Management System Based on J2EE and MVC Mode[M].Springer Berlin Heidelberg:2014-06-15.
[5]韩德志,陈旭光,雷雨馨,等.基于 Spark Streaming 的实时数据分析系统及其应用.计算机应用,2017,37(5):1263–1269.
[6]龚琼宇.科学数据整合技术应用研究[C].中国疾病预防控制中心:龚琼宇,2009.
[7]李艺.大数据挖掘:系统方法与实例分析[M].机械工业出版社:周英,卓金武,卞月青,2016.