APP下载

利用大数据技术进行海量数据治理

2018-03-04梁丽琴郑少明郑汉军

网络安全技术与应用 2018年11期
关键词:数据源离线海量

◆梁丽琴 郑少明 郑汉军 罗 佳

利用大数据技术进行海量数据治理

◆梁丽琴 郑少明 郑汉军 罗 佳

(厦门安胜网络科技有限公司 福建 361008)

大数据的风靡使得各行各业都加入了或者正加入大数据“淘金”的浪潮中。大数据应用的目的主要是从海量数据中获取收益或者价值,而这一目标的实现离不开大数据治理的基础。本文将从数据特点、数据汇集、数据处理、数据存储和安全的整体流程出发并结合大数据技术来阐述海量数据治理过程。

海量数据;数据归集;数据治理;离线计算;实时计算

0 引言

随着科技的不断进步以及互联网时代的飞速发展,信息化、自动化、数字化和智能化等技术渗透并作用于国家、企业和个人的方方面面。而大数据就是用来描述和定义信息爆炸时代产生的海量数据。大数据具有数据量大、种类多样化和数据增长块的特点,那么如何可靠并有效的治理这些数据成为大数据时代的基础问题之一。因此,本文将介绍大数据治理的流程与其对应的解决技术。

1 数据特点

数据治理的基础就是数据,首先对数据进行分析梳理。从数据结构可以将数据分为三类,一类是能够由二维表结构来逻辑表达和实现的数据,称为结构化数据,主要使用关系型数据库进行存储和管理,如OA系统、财务系统等核心数据库。一类是半结构化数据,数据具有一定结构特征但并不总是保持一致,字段长度可变,字段多值并且每个字段的记录又可以由重复或不可重复的子字段构成,如JSON文件。另一类是非结构化数据,这类数据毫无结构特征,比如文本、图片、XML、HTML、报表、音频、超媒体等等。

2 数据归集

在深入了解了数据的特点之后,接下来就是归集不同系统、平台上产生的多源异构数据。根据数据处理需求的时效性,将数据归集分为离线和实时两种。对于离线数据,可以使用DataX工具来进行异构数据源的同步,因为其采用Framework Plugin架构构建,将数据源读取和写入抽象成为Reader/Writer插件,在接入一个新的数据源时只要将此数据源对接到DataX,就可以与已有数据源做到数据的无缝同步。通过配置DataX的定时调度任务便可以同步包括MySQL、MySQL、Oracle、HDFS、Hive、ElasticSearch、kafka、Ftp等各种异构数据源之间的数据。而对于实时数据则使用Kafka来进行数据对接,Kafka是一种高吞吐量的分布式发布订阅消息系统,Kafka作为中间件不仅可以对消息起到缓存作用并为下游实时计算提供数据,还可以解耦前端数据支撑。将前端系统产生的数据在生成时或者短时间内定时向Kafka中对应的topic中放置一份数据即可,以供后面实时处理使用。

对于数据汇集传输过来的数据,需要验证数据的合法性、准确性,防止数据传输过程中被篡改。在数据归集写入到存储系统时会加上元数据标识,包括数据的来源、收集日期、数据安全级别和其他属性,以便数据识别检索和管理。

3 数据处理

对于汇集到的原生数据也称为不规整数据,存在数据的格式无法满足对数据处理要求的情况,需要对其进行处理转化为所需要的较为规整的数据。所以数据处理其实指的就是对数据进行基本的预处理,包括数据标准的统一、抽取、整合、清洗、入库的操作,以方便数据治理后的统计分析。对于归集来的数据根据不同业务需求,数据处理也采用离线和实时两种方式。离线处理主要是对于需要定时批量去统计的数据,并且对数据的时效性要求不高,采用的是专为大规模数据处理而设计的Spark技术。而对实时数据处理则使用Spark Streaming,Spark Streaming具有低延迟、高性能和容错等特点,满足对数据实时处理的要求。

3.1 离线处理

将DataX收集过来的数据通过Spark进行加载。首先根据加载数据的格式,启动不同的解析job来处理,统一整理成键值对的形式。然后根据业务需求提前定义一系列数据需要预处理的job链,包括对数据的清洗、脏数据处理、归一化处理、字段编码转换、地址经纬度转换等操作,处理完成的数据可针对业务需求对数据的一些公共信息进行提取。对于数据的存储需要根据对离线数据的业务需求来确定,如果是需要全文检索或者复杂查询的数据,则可选择Hbase和Elasticsearch结合的方式,数据同时录入到Hbase和Elasticsearch,利用Elasticsearch的全文检索和分布式架构的优势提供快速检索,其中Elasticsearch索引中应包含Hbase的行键值,以便后续根据行健从Hbase中快速查询出原数据;如果是需要实时快速查询且数据量较小的数据,则将处理后的数据直接录入关系型数据库,方便业务端系统查询;如果是简单的查询,则可以将数据存到Hbase,并根据业务需求合理定义行健值以提高查询效率。

3.2 实时处理

对于实时数据的处理,Spark Streaming会订阅Kafka的topic来获取前端业务数据流,通过配置Spark Streaming的窗口时间来实时处理数据。对于需要清洗的数据,会在Spark Streaming计算中预先加载相关的配置文件、码表数据等静态信息,编写job链对窗口数据进行格式解析、字段提取、归一化处理等操作。对于整理完成的数据,根据业务需求会进行数据抽取、打标签、统计和预警监测等操作。完成实时处理之后就是对数据的存储,对于抽取或打标签的数据写入到Hbase,而行健则是业务查询字段的拼接,如身份证号、标签、日期等;统计的数据相对数据量较小,可以写入到关系型数据库中或者缓存库中,便于前端系统的实时展示;而预警数据在存储的同时写到消息队列中,预警服务通过监控消息队列的数据,在有预警信息写入时,及时发送短信或者邮件等提醒。对于实时处理的源数据,因为实时数据处理一般都是秒级的数据,数据量累积比较快,一般不会存储或者只存储最近几天的数据。如果需要归档则可以按日期写入到Hdfs中,并设置定时任务删除过期文件,防止无效文件占用过大存储空间。

4 数据存储和安全

大数据治理最主要的是数据存储和安全,如何合理且安全地存储归集和处理后的数据,并提供完整的资源目录结构以便接下来数据分析和应用的使用是一个急需解决的问题。首先根据数据汇集和数据处理后的业务应用需求,构建一套具有高可扩展性、数据处理能力的多源异构数据存储中心,包括海量分布式文件系统、Sql数据库、NoSQL数据库、图数据库、内存缓存数据库和全文检索库等。并提供统一的数据中心的管理方式进行数据的管理和分配。在进行数据存储的时候需要按照数据的特征选择妥善安全的存储机制和存储架构存储数据。

大数据治理以数据为中心,那么数据安全则是重中之重。可以根据数据使用的全过程,从访问控制、数据保护、网络安全和事件监控四个方面全方位保护数据的安全。访问控制是数据安全的第一层关卡,根据业务要求、合规性和安全性等策略对数据进行分类分级管理,通过身份认证技术使得只有通过身份认证的人员才可以访问数据。数据保护主要是通过对数据进行脱敏、失真等技术处理,从数据上保护数据的安全。网络安全主要是保证数据通信传输过程的通信安全,针对不同的通信采用不同的加密方式,比如大数据平台的RPC加密,HTTP通信加密等。最后一层就是对数据一切操作进行审计和监控,记录所有事件的信息,并对监控数据进行分析并生成预警。

5 总结

在大数据战略的整体架构中,大数据治理是连接数据和应用的桥梁。要实现数据的分析和应用,让数据去创建价值就离不开一个科学的大数据治理方式。而数据治理工作不可能一蹴而就,包括数据的采集、数据的处理、数据的标准化、数据的储存和数据安全管理等各个方面。只有从数据出发,关注数据的所有细节,同时结合合适的大数据技术才能科学的治理。

[1]张绍华,潘蓉,宗宇伟.大数据治理与服务[M].上海科学技术出版社,2016.

[2]张锋军.大数据技术研究综述[J].通信技术,2014.

猜你喜欢

数据源离线海量
一种傅里叶域海量数据高速谱聚类方法
异步电机离线参数辨识方法
浅谈ATC离线基础数据的准备
海量快递垃圾正在“围城”——“绿色快递”势在必行
FTGS轨道电路离线测试平台开发
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
一个图形所蕴含的“海量”巧题
一种海量卫星导航轨迹点地图匹配方法