刘充
(南京中医药大学 信息技术学院,江苏 南京 210023)
基于KETTLE的高校多源异构数据集成研究及实践
刘充
(南京中医药大学 信息技术学院,江苏 南京 210023)
解决数字化校园建设中的多源异构数据集成问题。利用开源ETL工具KETTLE,对学生考试信息与上网信息的抽取、转换和加载。ETL模型自动生成了以上网行为事实表为中心表,以学生信息、上网信息、时间3个维度表的数据仓库。利用KETTLE能够快速实现高校多源异构数据集成,形成高质量的分析型数据,为决策支持服务。
数字化校园;异构数据;数据集成;KETTLE;ETL
数字化校园是以网络技术为基础,利用信息技术实现对教学、科研、管理、生活服务等信息的收集、处理、整合、存储、传输和应用,使数字资源得到充分优化利用的一种虚拟教育环境[1]。然而,由于高校信息化建设尚未形成统一的标准,不同厂商的系统互不兼容,不同系统之间无法互联互通和数据共享,形成一个个“信息孤岛”,直接影响学校的日常管理。如何将这些“信息孤岛”连通起来,实现高效多源异构数据集成和共享是数字化校园建设的一个关键问题。
数据抽取、转换和装载(Extraction,Transformation, Loading,ETL)是实现异构数据集成的有效方法[2]。在ETL过程中,数据抽取可看作是数据的输入过程,即从多个数据源中将数据抽取到统一的数据存储中;数据转换主要解决数据质量问题,通过数据清洗策略检测出海量数据中存在的数据冗余、错误及缺失并加以改正,然后使用用户定义的转换规则对数据进行合并、转换等操作,使得数据正确、一致和完整;数据装载可看作是数据的输出过程,即将处理后的数据从统一的数据存储装载到目标数据仓库中[3]。
目前,越来越多厂商致力于ETL工具的研发,如Oracle的Oracle Warehouse Builder(OWB)、Microsoft的Data Transformation Services(DTS)、IBM的Data Stage等,而较常用的开源ETL工具有KETTLE、Talend、Octopus等。本文采用开源ETL工具KETTLE,在分析KETTLE ETL特点的基础上,尝试构建高效多源异构数据ETL解决方案,实现异构数据共享。
KETTLE是一款用Java编写的开源ETL工具,其数据集成主要由转换(Transformation)和作业(Job)两部分完成,其中“转换”由一系列步骤所组成的逻辑工作网络,每一个步骤表示对一个或多个数据流进行特定的转换操作;而“作业”基于工作流模型,协调数据源、执行过程和相关依赖性的ETL活动,其将功能性和实体过程聚合起来,完成对整个工作流的控制。ETL活动是一个四元组A=(ID,I,O,S),ID是活动标示符,I是输入模式的集合,O是输出模式的集合,S是一个或多个扩展的关系代数表达式,表示每个输出模式的语义[4-5]。KETTLE的ETL活动可视为一个有向无环图(DAG图),图的节点对应于一个个作业或转换步骤(Step),边代表数据供给关系对应于数据流节点连接(Hop)。KETTLE ETL的概念模型如图1所示。
图1 KETTLE ETL的概念模型Fig.1 KETTLE ETL conceptual model
高校不同信息系统的数据存储形式多样,如关系型数据库,电子表格、XML文件、文本文件等。KETTLE通过配置关系型数据库的连接信息以及获取半结构化、非机构化的文本文件、电子表格等文件的路径实现对数据源的访问。下面以教务管理系统中的学生考试信息和上网信息的ETL为例进行说明。
2.1 数据源连接
学生考试信息存储于SQL Server 2008数据库中,上网信息包括上网账号信息(存储于MySql数据库中)及网络访问日志存储于txt文本中。KETTLE提供了JDBC标准接口访问关系型数据库。本案例中,通过配置数据库访问XML文件实现SQL Server 2008、MySql的连接。而在处理于文本文件时,KETTLE将目录信息转化为结构化的数据表示,转换的数据包含文件名、目录存储路径、大小、文件内容等列信息,转换成功的结构化数据处理与操作关系型数据库相似。数据库访问XML文件如下:
2.2 作业及转换流程设计
利用KETTLE成功连接3个数据源后,设计作业流程及转换流程,其中作业流程是对ETL过程的整体规划,协调执行过程和相关依赖性的ETL活动;转换流程负责具体实施对源数据与目标数据的映射关系操作,经过排序、去除重复数据等转换操作,最终将数据加载至相应的维度表与事实表中。
2.2.1 定义作业流程
本例的作业流程中包括日期维度、学生信息维度、上网信息维度及上网行为事实4个部分(见图2)。每个维度定义了具体的转换流程,负责形成相应的维度表,而上网行为事实的转换流程负责产生对应的事实表。通过作业流程与转换流程的协同工作,最终形成星型模式的数据仓库,即由一个大的包含大批数据并且不冗余信息的中心表(事实表)和一组小的附属表(维度表)构成,事实表和维度表通过各维度表的关键字连接在一起[6]。
图2 作业流程Fig.2 Job process
2.2.2 定义转换流程
1)日期维度
日期维度几乎是每个数据仓库都必须提供的一个维度,因为每个数据仓库都是时间系列的。事实上,日期通常是数据库进行潜在分类排序的首选维度,这样做的目的是,使按时间间隔连续加载的数据能够顺次存放到磁盘上的空白存储区中[7]。日期维度的转换流程如图3所示。
图3 日期维度的转换流程Fig.3 The converting process of time dimension
2)学生信息维度
教务管理系统中学生信息存储于多张二维表中,包括院系表、专业表、班级表、学生表、选课表、成绩表等,通过KETTLE从多张表中选择需要的字段,形成学生信息维度表(如图4所示)。
图4 学生信息维度的转换流程Fig.4 The converting process of students’information dimension
3)上网信息维度
上网日志记录了用户IP、访问地址、访问时间、信息流量等,而上网信息包括学号、分配IP、网络连接开始时间、结束时间和上网费用等。上述异构数据通过IP和时间进行映射,因为设计一个转换流程将上述数据合并,形成上网信息维度表(如图5所示)。由于上网日志中存在异常记录(数据丢失、乱码等),因而设置专门的过滤策略对源数据进行清洗。
4)上网行为事实
从时间维度表、学生信息维度表及上网信息维度表中抽取主键信息,形成上网行为事实表(如图6所示)。
2.3 数据仓库
当运行上述作业及转换流程时,KETTLE自动完成对异构数据源ETL操作,建立二维表并插入数据。本例中自动生成了以上网行为事实表为中心表,以3个维度表为附属表的数据仓库(如图7所示)。
随着数字化校园建设进程的加快,“信息烟囱”、“信息孤岛”等问题越发严峻。为了解决数字化校园建设过程中的多源异构数据集成问题,本文利用开源ETL工具KETTLE,建立了学生考试信息与上网信息的ETL模型,实现了异构数据的整合,为系统间的数据共享,乃至后续的数据分析挖掘(如学生考试成绩与上网行为的相关性)提供了数据准备。在高校信息化建设过程中,可以尝试应用各类ETL工具,解决不同系统之间的数据共享、数据集成等问题,从而提高数字化校园的建设效率,减低建设成本。
图5 上网信息维度的转换流程Fig.5 The converting process of network access information dimension
图6 上网行为事实的转换流程Fig.6 The converting process of network access behavior
图7 星型数据结构图Fig.7 Star-topology of data structure
[1]王秀娟.高校异构数据集成模式技术研究 [J].科技信息:学术研究,2007(8):175-176.WANG Xiu-jun.Research on campus heterogeneous data integration technology[J].Technology Information:Academic Research,2007(8):175-176.
[2]徐俊刚,裴莹.数据ETL研究综述[J].计算机科学,2011,38 (4):15-20.XU Jun-gang,PEI Ying.Overview of data extraction transformation and loading[J].Computer science,2011,38(4):15-20.
[3]郭志懋,周傲英.数据质量和数据清洗研究综述 [J].软件学报,2002,13(11):2076-2082.GUO Zhi-mao,ZHOU Ao-ying.Review of data quality and data cleansing[J].Journal of Software,2002,13(11):2076-2082.
[4]吴远红.ETL执行过程的优化研究[J].计算机科学, 2007,34(1):81-83.WU Yuan-hong.The research of optimizing ETL execution process[J].Computer Science,2007,34(1):81-83.
[5]崔有文,周金海.基于Pentaho的中药饮片企业商业智能研究[J].电子设计工程,2014,22(7):12-15.CUI You-wen,ZHOU Jin-hai.Research on Chinese medicine enterprise business intelligence based on Pentaho[J].Electronic Design Engineering,2014,22(7):12-15.
[6]王丽珍,周丽华,陈红梅.数据仓库与数据挖掘原理及应用[M].北京:科学出版社,2009.
[7]Ralph Kimball,Margy Ross.The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling[M].John Wiley&Sons INC;3rd Revised edition,2013.
Research on integration of college multi-source heterogeneous data
LIU Chong
(Institute of Information and Technology,Nanjing University of Chinese Medicine,Nanjing 210023,China)
To solve the integration of college multi-source heterogeneous data.Using the open-source tool,KETTLE,to extract, transfer and load data from the exam system and the network management system.The data warehouse was built,which was consisted of a fact table and three dimension tables including students’information,network information and time table.In this research,we found that multi-source heterogeneous data could be integrated efficiently,and analytical data was prepared for decision support further.
digital campus;heterogeneous data;data integration;KETTLE;ETL
TN919
A
1674-6236(2015)10-0024-03
2014-11-11 稿件编号:201411066
刘 充(1990—),男,江苏南京人,硕士研究生。研究方向:数字化校园。