基于Hadoop的大数据分析管理平台架构设计

2018-11-19 02:11
网络安全与数据管理 2018年11期
关键词:探查监控用户

张 伟

(中国大唐集团科学技术研究院有限公司,北京 100040)

0 引言

数据的爆炸式增长以及其蕴含的巨大价值将对企业未来的发展产生深远的影响,数据将成为企业的核心资产。大型国有企业拥有丰富客户资源的海量数据积累,在大数据时代要充分挖掘数据价值,跟上时代步伐。如何应用数据,挖掘数据的价值,让数据为企业的发展保驾护航,将是未来信息技术发展道路上关注的重点。

为了满足大型企业对于数据多样化、个性化需求,本设计方案提供高效、统一的数据接口,搭建一个数据精确、性能高效、方便分析的数据仓库系统。通过该方案可对上游各类数据按照主题模型、应用集市进行汇总,为下游输出标准化、模型化的数据,以满足用户的需求,同时利用数据仓库高效的数据处理能力,缩短报表生成时间,提高数据统计效率。根据对应用业务及技术特点进行综合评估,提出基于Hadoop模式的数据分析平台方案。

1 设计原则

数据分析平台数据仓库总体框架需要遵循如下技术原则:

(1)开放性:引入业界开放的、成熟的标准,从而保证系统成为符合标准又不失灵活性的开放平台,为未来的系统扩展奠定基础。

(2)可扩展性:随着新的业务需求的不断产生,支持基础数据模型、应用分析模型、前端应用的扩展性;支持在统一系统架构中服务器、存储、I/O设备等的可扩展性。

(3)可靠性:制定并实施数据仓库高可用性方案、运行管理监控制度、运行维护制度、故障处理预案等,保证数据仓库系统在复杂环境下的可靠性。

2 平台架构设计

2.1 平台框架

搭建数据分析的基础平台,建立完善的ETL(Extract-Transform-Load,数据仓库技术)调度机制并对数据进行初步的整合,建立基于应用的基础宽表。

基于Hadoop+Oracle混合技术架构的数据分析技术平台,满足数据分析工作及后续数据支撑的需要[1]。大数据分析平台的逻辑架构如图1所示。

(1)基于Hadoop架构的系统设计

首先,Hadoop支持超大文件存储和处理,一般来说,HDFS存储的文件可以支持TB和PB级别的数据。

图1 大数据分析平台的逻辑架构

其次,Hadoop具备高可用能力,可以快速应对硬件故障。在集群环境中,硬件故障是常见性问题,当有上千台服务器连在一起时,故障率会增高,因此故障检测和自动恢复HDFS文件系统是平台的核心能力。假设某一个DataNode节点挂掉之后,因为数据备份,还可以从其他节点里找到。NameNode通过心跳机制来检测DataNode是否还存在。数据自动保存多个副本,副本丢失后自动恢复。可构建在廉价机上,实现线性(横向)扩展,当集群增加新节点之后,NameNode也可以感知,将数据分发和备份到相应的节点上。 最后,具备流式数据处理能力 ,HDFS的数据处理规模比较大,应用程序能以流的形式访问数据库。处理能力的核心的是数据的吞吐量,而不是访问速度。访问速度最终是要受制于网络和磁盘的速度,机器节点再多,也不能突破物理的局限。HDFS具有高吞吐量。

但是,Oracle在企业数据库领域耗时30多年建立起来的核心地位并不会很快消失,企业的大量历史数据沉淀在Oracle中,基于Oracle进行数据整合和预处理,会大幅度提升开发效率,但是随着业务的升级改造,新产品研发中,高性价比的研发投入在Hadoop架构下的高可扩展等优势更加明显。

总之,基于安全、稳定、高效的原因考虑,保留传统Oracle数据平台的数据分析功能,将传统数据平台中压力较大的计算任务剥离,并降低数据存储的容量,充分利用Hadoop平台的分布式处理优势,解决数据处理效率问题,支持向传统平台的数据回滚。数据分析平台前期主要完成数据存储、简单查询、各项管理工具、开发工具的应用实施,必须由下列组件完成相关的功能。所需的基础组件如图2所示。

(2)建设ETL调度系统

建设稳定、高效的ETL机制对数据进行清洗、转换、加载等操作,并实现每日增全量数据的自动化加载;同时要实现对ETL任务的监控与ETL任务报错后的跟踪处理并保留一定时间的ETL日志。

图2 Hadoop基础架构组件

(3)整合ODS贴源层数据,建立常用基础宽表

数据拆分系统与数据下载系统是两个独立的用于省内数据下发的系统,存在数据重复、互为补集等情况,需将两处共有数据合并处理,整合形成操作数据存储(Operational Data Store,ODS)贴源数据层。同时,各部门基于日常业务需求和技术应用,将多个数据表进行关联,建立常用基础宽表,以满足客户信息查询、交易明细查询、监管数据调取等日常工作需求,提高数据提取效率。

2.2 数据管理

2.2.1数据导入

数据采集能从不同数据源中进行指定规则的数据提取作业,抽取后的数据存储支持落地与不落地两大类进行,抽取后的数据可以为数据转换环节进行处理提供输入,也可以直接进行处理或者加载。

数据采集采用多样性的接口方式,除了支持传统的JDBC/ODBC接口、FTP文件接口[2],从抽取支持的实时性来看,支持批量数据抽取;从抽取方式来看,包括全量抽取和增量抽取两种方式,其中全量抽取可将所有历史数据一次性抽取完成;增量抽取根据规则要求进行抽取。

数据加载功能包括数据初始化工作、文件加载、压缩加载、不落地加载等。数据加载功能具备将采集、处理后的数据源文件保存到数据库中。支持加载时事物提交的参数配置,允许设定数据文件相关输入路径与加载文件匹配规则等信息,由数据装载完成发现文件、获取文件、加载数据、数据校验等操作流程后完成数据入库操作。

在加载实现过程中支持提供不同类别的行为定义脚本,数据加载执行组件将根据定义行为脚本类型调起相应的脚本执行来加载到数据。数据加载结束或失败时,都需要向在ETL系统相应的数据库日志表中记录操作日志,为后续数据稽核与问题排查提供详细信息。

数据加载主要满足以下功能:

(1)数据满足自动加载和手动加载两种方式,自动方式基于调度程序,定期定时执行抽取任务;且支持文件落地和不落地两种存储加载(落地加载是将数据源保存在ETL物理服务器中,进行接口保存加载。不落地加载是指将数据源写入缓冲池中,不在物理机上保存而实现的加载)。

(2)支持多任务的并行加载,支持多个数据库连接同一装载任务的并发执行。

(3)加载过滤,即具备基于数据属性值的过滤加载。

(4)数据装载需要支持Oracle数据、TXT文本、Excel、CSV等多种不同数据格式进行加载。

(5)提供图形化装载界面对整个ETL装载过程进行监控,包括文件名称、目标表名称、数据日期、加载开始日期、加载结束日期、加载状态、成功笔数和失败笔数等。

(6)数据装载过程需要对错误数据进行过滤,在对记录进行过滤的同时,能将发生错误的数据记录到相应的错误表中,并给出错误原因。

(7)具备加载对象的参数配置功能,将数据加载过程中需要设置的命令、参数、规则进行配置,控件会自动生成相应的可执行代码来完成作业。

2.2.2数据清洗

(1)数据探查

根据数据标准通过多维度视角进行数据的全面探查,系统使用者可以通过数据实体关系、主要指标项,数据实体轮廓、内容形式、自定义规则以及问题数据批注等方面进行数据的探查。

(2)指标探查

通过对数据实体评估指标进行探查分析,对于造成数据质量问题进行定位;通过评估指标规则,对表中的字段进行探查;可通过单一规则或组合规则进行明细数据记录级的探查。

(3)内容探查

①独特值探查

允许查看某个值在属性中的重复频率、哪些记录包含该独特值以及对实体表中各属性的独特值个数排序。

②模式探查

描述数据值字符形状以标识格式偏差,其中 a 等同于字母、 d 等同于数字、下划线 (_) 等同于空格(相对于其他约定)。例如,aaaa 模式(一行四个字母)将表示为“a4”。因此,数据值“Jane Rizzo”将表示为“a4_a5”。

③掩码探查

将文本字符标识为字母、数字或特殊字符。掩码模式是掩码编码的形状,它指明了单词、短语或数字的常见质量。例如, A 等同于一个字母, N 等同于一个数字。因此,如果产品代码为 1H-3389BD,则其掩码为 NA-NNNNAA。

(4)相似数据清洗检查

利用模式匹配,对相似数据记录进行去重,并且满足相关记录查询;通过计算数据记录的相似性,对相同或者相似的记录进行分组,通过数据责任人确认进行去重或合并。

(5)最佳匹配记录清洗

匹配记录后,在匹配的记录组中标准化并标记最佳记录。根据用户定义的规则标准化通过常见关键词链接的一组匹配的记录中的数据,例如,需要将一个匹配记录中的出生日期或联系方式填充到所有其他匹配记录中[3]。用于最佳匹配的最常见规则包括:1字符值和数字值的上限/ 下限,2最长值和最短值,3最常出现值和最少出现值,4指定输入源中的值,5最新的值和最旧的值。

2.2.3数据治理

数据治理过程需要逐一确定具体数据问题的原因,方可达到有效,提升数据质量[4]。数据质量问题主要体现在:数据质量不高、数据结构复杂、数据保存周期不一致、缺少数据字典等方面。建立数据分析平台可以尽可能形成干净、统一的数据源,为业务支撑提供数据支持。

(1)提升数据质量:对数据源系统及关联源系统进行数据分析,排查数据重复的具体原因,搭建策略模型,以重新获取缺失数据及空值数据,使得进入分析平台的数据字段在数据类型、字段中文名称、字段英文命名上的一致性。

(2)统一数据结构:按分门别类的对来源于零散的多个业务源系统数据进行存放,并进行简单的汇总加工,以便后续直接使用。

(3)统一存放周期:通过整合层对核心数据(如:账户余额、协议等)形成历史拉链表,统一数据周期,以支持长期历史趋势分析。

(4)统一数据字典:多渠道、多角度分析源系统数据,形成统一数据字典,并可对数据字典进行统一版本管理。

2.2.4ETL任务调度与监控

统一调度包括统一调度配置、统一调度运行、调度策略、统一调度监控等模块。ETL调度与监控:通过对ETL整个处理流程中的独立的ETL数据处理环节(如数据抽取、转换或加载)进行监控,以及在监控过程中根据每个处理环节的处理任务自动生成该处理环节的监控指标,从而一方面可以及时发现问题数据以及进一步分析问题数据产生的原因,因而提高了ETL的监控效率以及提高了监控结果的准确性。通过邮件、短信等系统自动报警功能,减少人工监控,从而在进一步提高效率的同时还简化了ETL监控的实现过程,减少了人为因素的影响从而进一步提高了 ETL监控结果以及对ETL处理过程的质量判断的准确性[5]。

系统应用监控:系统应用监控主要针对即席查询应用的监控。在硬件及操作系统层面,由全行统一的运行平台统一进行监控。数据库监控包括数据库软硬件监控、数据库空间监控以及数据库资源监控。

3 平台安全性设计

3.1 通信安全解决方案

平台安全设计考虑下面内容:通信使用SSL/HTTPS协议,保证传递数据间的安全性。数据库中密码采用MD5或DES加密以保障安全。系统资源采用独立授权,采用逐级管理员方式保障用户登录合法性。系统日志记录用户各种操作,确保真实性,以便对系统进行审计[6]。系统提供备份和恢复知识库的能力。在系统出现故障的时候,能够收集错误信息。

3.2 访问控制列表

对于数据仓库的信息展示,需要提供灵活而又安全的访问控制。面对现在的信息展示手段和技术的更新换代,数据仓库的信息安全控制需要全面的满足当前丰富的业务场景的需要。

搭建统一门户,支持单点登录,同步办公门户系统用户信息,提供单点登录的支持方案,支持采用第三方安全认证平台(如AD/LDAP)。

安全控制:权限控制,与单位现有IT基础架构紧密集成,集中管理用户身份验证和访问授权,符合各部门安全策略要求[7]。

3.3 角色管理

用户管理是控制用户功能权限、数据访问权限、资源访问权限的基础。支持按用户、用户组、角色进行管理;支持多套应用系统共用同一套用户管理系统。

用户管理包括用户、角色的管理。用户是登录系统的基本单位,一个用户可以属于多个机构。角色是一组权限的集合,通过给用户或用户组赋予角色,使之获得相应的权限[8]。定义系统有的操作权限,或者说功能权限。

整个系统中有一个超级管理员对所有的管理员、用户进行管理。

4 结论

借助Hadoop+Oracle混合技术架构,发挥Oracle在垂直应用行业的先天优势和Hadoop在云平台的并行计算及分析优势,构建一个多层平台架构,包括数据导入、清洗、治理和监控等核心模块,解决行业应用中的数据汇总和综合分析问题,并对外提供安全可扩展的数据服务能力。在应用实施中,通过在Hadoop集群上建立常用基础宽表,可以满足客户信息查询、交易明细查询、监管数据调取等日常工作需求,提高数据提取效率。

猜你喜欢
探查监控用户
The Great Barrier Reef shows coral comeback
冀西北三马坊热储构造探查的新认知
煤矿常见隐蔽致灾因素及其探查技术分析
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
关注用户
关注用户
关注用户
高频超声探查用于诊断附睾病变男性不育的价值探讨
PDCA循环法在多重耐药菌感染监控中的应用