Kettle在高校大数据处理中的应用与研究
2024-09-20徐绍铜
摘要:随着大数据技术的日益成熟,数据处理技术已经成为信息科学领域的重点研究方向。在高等学校教育领域中,各类教学、科研、管理、服务等活动产生了大量的数据,这些大规模数据已成为高校教育的重要数据资产。如何有效地处理和整合这些数据,为高校师生提供服务和为管理者提供决策,是目前各高校在数据治理过程中需要解决的问题。Kettle作为一款开源的ETL工具,被广泛应用于数据抽取、数据转换、数据加载等任务中,用来实现异构数据源的整合,在高校大数据处理中具有非常重要的应用价值。本文先对Kettle作简单阐述,并通过具体的案例分析展现其实用性,从而在技术层面解决高校智慧校园建设过程中产生的数据孤岛问题,实现数据互联互通。
关键词:Kettle;ETL工具;高校大数据处理;数据集成;数据交换
引言
教育信息化作为国家信息化的重要组成部分,各高校在《教育信息化2.0行动计划》[1]的指导下,都在加快推进信息化建设,进行教育数字化转型。然而,高校在数字化校园建设初期,由于缺乏统一规划,各业务信息系统之间采用不同的数据库和不同的数据标准,造成数据无法实现共享,形成数据孤岛。为解决异构数据源问题,使各业务系统之间实现数据共享,需要对各种数据进行整合处理和数据交换,以达到数据治理的目的。本文以广州工商学院数据交换平台作为Kettle的应用案例进行研究,通过分析kettle的架构和核心技术,探索其在高校应用场景的实际效果,解决智慧校园建设过程中存在的数据孤岛问题。
1. Kettle技术介绍
1.1 Kettle技术概况
ETL(Extract-Transform-Load)作为经典的数据集成技术[2],用于描述将数据从来源经过抽取、转换、加载到目的端的过程,在大数据处理中发挥着重要作用。Kettle作为一种ETL工具USiDNBWo0XRfL7iCnW3LqpvfF/rbNstL46h4nelusuE=,由于其开源的特性,一经问世就迅速吸引众多开发者的关注,并在开源社区的共同努力下不断完善,已经从简单的ETL工具发展成为一个全面的数据处理平台。目前Kettle仍在现代大数据和实时数据处理中不断演进和优化,能够支持复杂的数据流设计、大规模数据并行处理等功能。
1.2 Kettle在数据处理中的地位
在大数据处理领域,Kettle以友好的用户操作图形界面、丰富的插件支持、众多异构数据源的接入支持,以及高效的数据并行处理能力,能够非常出色地处理不同数据源的结构化、半结构化、非结构化数据,包括但不限于Oracle、Mysql、SQL Server、XML、EXCEL、JSON等类型数据源,在数据处理中占据重要地位。除此以外,由于Kettle的跨平台特性,使其能够在常见的Linux、Unix、Windows等多种操作系统中运行,增强了其在数据处理项目中的灵活性和可移植性。
1.3 Kettle与其他ETL的对比
目前,常用的ETL工具有IBM Datastage、InforMactica PowerCentre、Microsoft SQL Server Integration Services等[3],这些工具虽然技术成熟且有技术支持和专业的售后服务,但对于普通高校来说,其昂贵的价格是最大的缺点。而Kettle是开源的产品,有强大的开源社区支持,相关技术资料也比较完善,在成本效益方面具有显著的特点,各高校在数据处理项目中可以优先考虑使用Kettle。
2. Kettle核心技术
2.1 Kettle架构
Kettle架构可以划分为三层,即核心引擎层、开发层、扩展层,三个层次共同协作,为数据处理提供强大的支持。最底层是核心引擎层,负责处理数据的抽取、转换、加载,以及元数据的管理,其相关的jar文件位于lib目录下,为上层提供强大的支撑;中间层是开发层,主要通过Spoon客户端进行操作,在使用Kettle进行数据集成时,大部分时间就是在这一层进行设计、调试、运行转换和作业操作,是进行数据交换规则设计的最重要步骤;最上层是扩展层,为开发者提供了丰富的扩展接口和工具,支持自定义开发,以满足特定需求。
2.2 转换与作业两大核心组件[4]
Kettle的转换组件是一个有向无环图,用于描述数据在各个步骤之间的流向和处理过程,是处理数据流的核心组件,包含一系列步骤,每个步骤执行特定的操作,如读取数据库中的数据、读取文件、过滤记录、比较数据和合并数据等。作业组件是一种总控流程,用于管理和协调多个转换和其他作业的执行,能够按照顺序或条件触发执行一系列操作,以适应不同的业务需求。
2.3 步骤与跳跃机制
在转换中,步骤是数据处理的基本单元,每个步骤都有输入和输出,并执行一系列的数据处理操作,如数据清洗、数据合并比较、格式转换等。跳跃机制则允许数据跳过某些步骤直接传递到后续步骤,根据业务需求选择不同的步骤执行。
3. 高校大数据处理的必要性研究
3.1 研究背景
高校的信息化建设是教育信息化的重要组成部分,高校作为教学和科研的重要场所,随着各业务的不断发展,已经拥有大量的教学、科研、管理数据。这些数据蕴含着巨大的价值,如何有效地处理和利用这些数据,为高校师生提供个性化服务和为管理者提供数据分析与决策,目前已经成为各高校数字化转型需要解决的问题。
3.2 研究意义
通过高校大数据的处理与分析,不仅可以优化教学资源配置,提高教学质量和科研工作的效率,还可以为学生提供更加个性化的教育服务。通过深入研究Kettle在高校大数据处理中的应用,可以为高校提供一套有效的数据处理方案,促进高校信息化建设。
3.3 研究内容
通过深入探讨Kettle技术在高校大数据处理中的应用,探索其在高校场景下的实际应用效果,包括但不限于师生基础数据、学校基础数据、教学数据等多种场景的数据处理为案例,将分布在不同系统的高校数据进行有效整合,可以提高数据的一致性和数据的共享性。
4. Kettle在高校数据处理中的应用案例
本文以广州工商学院数据交换平台为应用案例,利用Kettle工具,将人力资源管理系统中的教职工数据同步至学校的数据中心共享数据库,达到两个数据库的教职工数据一致,并利用学校自主研发的任务调度平台,每天晚上12点进行数据同步,实现数据自动更新的效果。
4.1 设计数据转换流程
利用Kettle的Spoon客户端进行数据转换设计,根据具体的业务数据处理要求,使用Kettle工具中提供的输入、转换、流程、输出等控件进行设计,将人力资源数据库中的教职工数据同步至数据中心的共享数据库中。教职工数据转换流程设计界面如图1所示。
4.2 数据转换流程设计操作步骤
4.2.1 数据库连接
数据库连接是指在Kettle的DB连接功能里面,分别创建数据来源端的数据库访问和数据目标端的数据访问连接,用于在表输入或表输出等步骤获得数据或插入与更新数据。在本案例中,需要创建人力资源管理系统数据库和共享数据库的连接,根据数据库的类型分别创建SQL Server数据库连接和Oracle数据库连接。
4.2.2 数据抽取[5]
数据抽取是指在转换流程的开始节点根据不同的数据源类型,包括但不限于表输入、Excel输入、XML输入、文本文件输入等输入控件,获取源头数据或目标数据。在本案例中,人力资源管理系统的教职工数据表(V_JZG)作为转换流程的数据源,而共享数据库的教职工数据表(JG_JZGJBSJ)作为转换流程的目标数据,需要同步更新。
4.2.3 数据转换
在数据转换步骤,可根据实际需要对前一步骤的数据抽取获得的数据进行处理,包括但不限于字段选择、值映射、去重复记录、增加常量、修改数据类型[6]等多种数据转换操作。在本案例中,需要进行字段选择,并对V_JZG和JG_JZGJBSJ两个表中的字段进行一一对应,修改V_JZG表中的数据类型,使其与JG_JZGJBSJ表的数据类型一致。经过这样的操作后,方可进行合并记录的操作,进行数据比对。
4.2.4 数据流向
在每一个步骤节点上,都会对数据进行相关的数据处理操作,在每一个步骤节点之间需要用箭头连接起来,表示数据的流向,这样可以起到承上启下的作用。如图1流程图上的箭头方向。
4.2.5 数据加载
数据经过前面一系列的抽取、转换、清洗等操作后,得到的数据是符合入库标准的,这时需要将数据加载到目标数据仓库,通过“插入/更新”控件将数据同步到目标库中。在本案例中,以ID作为唯一标识,对共享数据库中的教职工数据表进行插入或更新。若ID不存在,则进行插入操作;若ID存在,则进行更新操作,对不需要同步更新的字段可根据实际需要进行不更新操作,只需将更新标识设置为N。
4.2.6 运行或调试转换流程
至此,数据转换流程已经设计完毕,可点击流程图左上角的三角箭头进行手动运行,观察其数据处理是否达到预期效果。
4.3 任务调度平台相关设置
4.3.1 设置调度策略
由于Kettle目前没有调度功能,而使用操作系统自带的调度功能又不够友好,因此,学校自主研发了一套任务调度平台,该平台提供定时策略、转换管理、作业管理、监控管理等与调度任务相关的功能。在本案例中,通过对教职工数据转换流程的调度策略设置,规定每晚12点启动执行,完成对Kettle转换任务的执行调度。
4.3.2 监控任务执行状态和执行结果
由于转换任务是自动执行、无人操控的,不能立即监控到执行情况,因此,学校的任务调度平台除了调度功能外,还能对所有任务策略的执行情况进行记录,记载每一条任务调度的详细情况,以便管理员能及时发现问题,并进行相关处理。
结语
本文对ETL工具Kettle的核心技术进行了深入探讨,对高校大数据处理必要性进行分析,通过对广州工商学院数据交换平台Kettle应用案例的分析和研究,进一步证实了Kettle在数据处理方面有着广泛的应用,包括数据抽取、数据转换、数据加载等,同时,在处理异构数据源、数据整合等方面也有着出色的表现,打破了各应用系统之间的数据壁垒,为高校大数据处理提供整合方案,实现了高校大数据的互联互通。
参考文献:
[1]教育部关于印发《教育信息化2.0行动计划》的通知(教技〔2018〕6号)[A/OL].(2018-04-18)[2024-07-28].http://www.moe.gov.cn/srcsite/A16/s3342/201804/t20180425_334188.html.
[2]王天举,许丹亚,尹文志,等.基于Kettle的铁路数据接入的设计与实现[J].无线互联科技,2023,20(8):79-82.
[3]朱利哲,孔鹏.基于Kettle的异构数据集成系统[J].传感器世界,2023,29(3):29-33.
[4]韦亚军,张文文,李冬青.基于Kettle的数据转换同步方法研究[J].软件导刊,2022,21(8):126-131.
[5]薛鹏飞.Kettle在高校数据中心对接集成中的应用与研究[J].信息记录材料,2021,22(8):177-179.
[6]唐紫珺,蒋亮.基于Kettle的数据预处理应用[J].信息技术与信息化,2021(8):128-130.
作者简介:徐绍铜,本科,高级工程师,394328136@qq.com,研究方向:教育信息化、计算机应用。