面向高职院校多源异构数据的ETLA技术

2021-06-16 11:31孟凡明
科教导刊·电子版 2021年10期
关键词:业务人员调度数据库

孟凡明

(北京社会管理职业学院 北京 102627)

1 ETLA技术概述

ETLA技术主要解决高校数据共享第一步“数据集成”环节遇到的数据分散、格式不统一、标准不统一等问题。ETLA分别代表Extract、Transform、Load、Administer,即抽取、转换、加载、管理。ETLA技术以“提高数据的使用效率、保障数据的高质量”为目标,在常见ETL技术的基础上增加了业务数据的规范化、清洗、质量监测等功能。4个模块主要的功能为:

(1)数据抽取:从数据库、文件系统等数据来源,抽取业务所需的数据。

(2)数据转换:将多源异构数据按照业务需求,转换成规范的、高价值的目的数据的过程,基于定义的数据标准,对多源异构数据进行规范化、脏数据清洗、关联融合等数据的清洗加工操作。

(3)数据加载:将转换后的符合数据标准的数据记录持久化至数据库或文件系统中。

(4)调度与管理:对数据的抽取、转化、加载过程以任务的形式进行调度和监控。对数据各处理环节的数据质量、持久化数据资产的监测管理。

2 高职院校数据ETL面临的挑战

高职院校的“智慧校园”建设已有多年,学校的教学部门和非教学部门对业务需求的种类越来越多,因此,随着信息技术的迅猛发展,各职能部门建立的业务系统也越来越丰富。各部门不管是平行业务还是交叉业务,各部门的业务系统均形成了大量的业务数据,这些数据复杂、且标准不统一,往往都需要业务人员进行后期再加工处理,才能为之所用。另外,为充分利用不同部门间数据,深入融合挖掘数据的价值,各部门之间的数据共享也越来越频繁。但由于数据由不同的业务系统产生,数据的来源多、数据类型多、格式不统一,且数据存储分散,甚至存在部分数据信息缺失的问题,导致数据在使用时的工作量较大,跟业务无关的数据抽取、规范化、脏数据清洗等工作耗费了大量的时间和精力。为提高各部门业务系统数据的共享使用效率、减少跟业务逻辑无关的数据处理操作、助力学院管理决策,本文提出了支持不同业务系统间数据抽取、转化融合的ETLA技术。

3 ETLA技术方法

根据高职院校在“智慧校园”建设过程中面临的问题,本文研究了一种新的能提高数据共享效率的ETLA技术方法。本技术构建了数据抽取、数据转换、数据加载和调度管理4大模块,将分散在不同部门不同业务系统的多源异构数据进行整合,完成规范化、脏数据的过滤清洗、关键信息的补全校验、数据的关联融合等工作。具体架构如下:

图1

3.1 数据抽取

数据抽取是从数据源抽取数据的过程,支持对不同部门不同业务系统的不同格式数据的抽取。支持从业务系统的关系型数据库、数据文件、邮件和网页等数据源抽取数据。

对于结构化数据来说,数据抽取实现从关系型数据库或数据文件中抽取数据。对于非结构化或半结构化数据来说,数据抽取实现通过协议采集邮件和网页等非结构化数据。具有以下能力:

(1)从数据文件中抽取数据:支持本地、HDFS文件系统,或通过FTP文件传输协议从远程服务器中的XML、EXCEL、CSV格式文件中抽取数据。

(2)从关系型数据库全量抽取数据:通过JDBC或ODBC接口从源数据库中全量抽取数据,并转换成系统可以识别的格式。

(3)从关系型数据库增量抽取数据:通过数据库日志分析方式,抽取自上次抽取以来数据库中新增或修改的数据,支持Mysql、Oracle 等数据库。

(4)邮件采集:通过SMTP/POP3/IMAP协议采集邮件。

(5)网页采集:通过HTTP协议爬取网页数据。

3.2 数据转换

数据转换环节基于定义的数据标准,将数据记录转换为规范的、符合标准的数据记录。数据转换操作以组件化、算子化的方式预先定义,并通过调度管理模块串联形成一个数据转化处理流程。完成数据的格式转化、脏数据清洗过滤、数据取值的校验、信息的补全等功能。并从业务应用的角度设计了业务数据关联融合的功能,构建高数据价值密度的业务数据,方便业务人员在常见业务场景下的数据使用。具体能力支持:

(1)格式转换:按照数据标准,对同类数据进行统一标准化,避免相同业务含义的数据存在不同数据存储类型的问题,从而降低业务人员使用数据的复杂度。如:Excel文件中学生性别以“男/女”文本格式表示,教务系统中的学生性别以“0/1”表示,将统一转成“0/1”格式存储,并定义数据字典标准,以便业务人员使用。

(2)脏数据清洗:数据在抽取后进行实时检查,对不符合业务规则的脏数据进行拦截清洗,减少后续的存储、计算资源消耗。如:对成绩取值非法、学号姓名等关键字段缺失、取值全为空等的数据记录进行拦截清洗。

(3)关联融合:将不同来源的数据基于关键字段,按照关联融合规则进行关联融合,形成面向不同业务应用场景的信息完整的高价值业务数据,方便业务人员的业务应用。

(4)关键信息补全:不同数据源的数据,学生、教师等实体的关键信息通常存在不同程度的缺失,导致业务人员在获取实体基础信息时,需进一步查询对应实体的基础信息库。本功能在数据转化过程中,对记录中实体缺失的或常用但未存在的信息,通过实时关联实体基础信息库的方式,实时补填或新增实体信息。保证记录的关键信息的完善。

3.3 数据加载

数据加载是对数据转换后的标准化数据进行持久化的过程。为满足业务人员的不同业务场景需求,本系统支持将数据自动加载到结构化数据存储库、对象数据存储库和数据文件中,同份数据可支持自动加载到多个数据库中。支持数据自动分区,分区类型支持等值、Hash、区间等。具有以下能力:

(1)数据库持久化:通过JDBC或ODBC接口,把处理后的标准化数据存入到OLAP、OLTP、键值、对象、全文等数据库中,支持外部 oracle、mysql、Hive、ElasticSearc、HBase、Click-House等数据库。

(2)数据文件持久化:把处理完成的数据以XML、EXCEL、CSV格式存入到本地文件系统,或通过FTP文件传输协议落地到远程服务器上。

(3)插入/更新数据:通过JDBC或ODBC接口,把处理完成的数据对数据库表进行插入更新,如果数据库中不存在相关记录则插入,否则为更新。

3.4 调度与管理

调度与管理模块完成数据抽取、转换、加载工作流的任务启停、调度和状态监控管理。同时,在数据处理的各个环节进行数据条目监控和比对。对数据持久化后的数据质量进行综合监测,当数据质量发生异常时,进行数据质量异常进行告警,解决数据质量问题发现滞后的问题。对重要数据支持可视化查看和管理,方便业务人员对核心数据资产的使用与管理。

(1)任务调度引擎:完成数据抽取、转化、持久化任务的启动、调度和状态监控,可以按周期、定时和触发条件的方式自动执行对目标数据的处理,并对任务执行过程和结果进行监控。支持任务的优先级调度,在有资源约束的情况下,按任务优先级调度任务。在任务的执行过程中进行任务进度监测,监测已运行时间、预计剩余时间、资源消耗等信息,对任务的异常进行实时告警。

(2)质量监测:在数据抽取、转换、加载的各个环节实时监控数据流,及时发现数据丢失、数据断流等数据质量问题。实时统计数据条目,对各流程环节前后的数据条目、开始与结束的条目进行核对。定时对已持久化的数据进行综合检查,统计数据的空值率、重复率、多字段间的逻辑正确性等数据质量指标。对数据条目的突增突降等重要数据质量问题实时告警,定期形成数据质量报告,指导业务人员的数据应用。

(3)资产管理:提供可视化的资产总览、管理功能。资产总览从数据规模、类目分布、热门访问等多个角度,对数据资源平台上的数据资产状况进行全景式展现。并从数据的使用热度、广度、深度等维度展示热点数据、热点字段、热点用户、热点使用方式等信息。提供对数据资产的数据标准管理、数据质量查看、数据资产信息编辑、数据资产级别管理等功能,便于管理者对数据资产进行维护管理。

4 总结

本文介绍了面向高校多源异构数据集成的 ETLA技术,详细介绍了ETLA技术的抽取、转化、加载、调度管理4大功能。本技术在常见的ETL技术的基础上增加了面向业务使用人员的数据规范化、脏数据清洗、数据关联融合、数据质量监控、资产管理等功能。使数据使用者能够更加方便的使用业务数据,减少了跟业务逻辑无关的数据清洗、关联等无效且耗时的数据处理操作,降低了数据质量问题的发现延迟,提高了业务数据的高质量和使用便利度。

猜你喜欢
业务人员调度数据库
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
90%的奶粉企业要瘦身,谁会被裁掉?
快消品行业业务人员流失的原因与影响浅析
SVC的RTP封装及其在NS2包调度中的应用研究