一种基于Kettle的ETL Web应用系统架构方法技术方案

技术编号:23512448 阅读:25 留言:0更新日期:2020-03-17 23:53
本发明专利技术公开一种基于Kettle的ETL Web应用系统架构方法,包括:步骤1,创建Kettle数据库和ETL Web工程数据库;步骤2,初始化ETL Web工程数据库以及Kettle客户端所需要的表和数据,将初始化后的Kettle数据库中所有表和数据导入到ETL Web工程数据库中;步骤3,创建ETL Web工程,在ETL Web工程中导入相关的Kettle依赖jar包,基于初始化后的ETL Web工程数据库完成Web工程的基础环境配置;步骤4,基于Web工程的基础环境配置开发前台与后台;步骤5,在后台中部署Kettle集群并开启Carte服务。采用浏览器/服务器模式架构开发ETL Web应用的系统架构方案和步骤方法,实现整个企业的ETL工作只需要使用一套系统,基于这套系统能够做到统一管理和监控所有的ETL任务,做到分角色管理,从而降低企业的运营维护成本。

A method of ETL web application system architecture based on kettle

【技术实现步骤摘要】
一种基于Kettle的ETLWeb应用系统架构方法
本专利技术涉及计算机
,具体是一种基于Kettle的ETLWeb应用系统架构方法。
技术介绍
Kettle(英文KettleE.T.T.LEnvironment的缩写)是一款国外开源的ETL(英文Extract-Transform-Load的缩写),用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程)工具,采用纯Java语言编写,可以运行在Windows、Linux、Unix平台上,数据抽取高效稳定。由于Kettle是采用C/S(Client/Server,客户端服务器端)架构的客户端工具,需要ETL从业人员单独维护一套Kettle,特别是对于企业中多个部门的数据如何进行抽取、转换和加载到统一的数据仓库中,如何协调管理和监控Kettle集群中的任务,如何对不同部门的使用者进行管理等,这些都是使用传统的Kettle客户端工具所需要解决的问题。目前大部分专利是基于Kettle客户端工具并结合业务提出的一些数据分发、同步等方法,本质上对于ETL工作还是使用的Kettle客户端工具。对于Kettle的任务调度方面的研究,其中专利CN108629052A提出一种Kettle任务调度方法,利用Python中的Deamon程序轮询满足调度条件的Kettle任务,根据从Kettle数据库资源库中的数据文件获取参数项,生成参数列表,执行Kettle任务。对于如何管理和监控Kettle工具生成的转换和作业任务,专利CN107045538A提出一种基于Kettle的web端交换管理方法,把Kettle中转换、作业的基础属性配置,运行管理与配置从Kettle中剥离,使经常性的操作无需启动Kettle即可完成。在上述背景下,一方面传统地使用Kettle客户端作为ETL工具面临着不易维护、不便管理和监控任务等问题;另一方面基于Kettle客户端在任务调度、管理和监控任务做了改进的专利,需要使用Kettle客户端生成转换和作业,然后在此基础上,通过开发的另外一个系统来完成任务调度或管理、监控Kettle中转换、作业等工作,会导致用户需要在Kettle客户端和其他一个或多个系统之间频繁切换,整体性不强容易出错,同时也增加了工作的复杂性。现有的技术只是将Kettle客户端生成的转换、作业的基础属性配置、运行管理与配置信息进行分离,通过开发Web应用工程并引用分离出来的配置信息来实现对Kettle的转换、作业的管理和监控。这种实现方式有如下几点缺陷:1、作为ETL产品整体性不强,由两个系统组成:一是Kettle客户端,负责所有与图形界面操作相关的工作;二是Web后台管理应用,基于B/S架构提供浏览器端的界面网页,负责对系统一生成的数据(包括转换、作业的基础属性配置等)进行查询的功能。导致用户需要在这两个系统之间频繁切换,降低了工作效率。2、与Kettle客户端耦合度较高,扩展性较差。
技术实现思路
针对上述现有技术中的不足,本专利技术提供一种基于Kettle的ETLWeb应用系统架构方法。为实现上述目的,本专利技术提供一种基于Kettle的ETLWeb应用系统架构方法,包括如下步骤:步骤1,创建Kettle数据库和ETLWeb工程数据库;步骤2,初始化ETLWeb工程数据库以及Kettle客户端所需要的表和数据,将初始化后的Kettle数据库中所有表和数据导入到ETLWeb工程数据库中;步骤3,创建ETLWeb工程,在ETLWeb工程中导入相关的Kettle依赖jar包,基于初始化后的ETLWeb工程数据库完成Web工程的基础环境配置;步骤4,基于Web工程的基础环境配置开发前台与后台;步骤5,在后台中部署Kettle集群并开启Carte服务。作为上述技术方案的进一步改进,步骤1中,创建的数据库方案采用关系型数据库的MySQL或Oracle。作为上述技术方案的进一步改进,步骤2的具体过程为:步骤2.1,将与数据库方案对应的JDBC驱动jar包拷贝到Kettle客户端的安装路径下的lib文件夹下;步骤2.2,采用Spoon模式启动Kettle客户端并新建数据库资源库,在数据库资源库新增界面中将创建的Kettle数据库作为其数据库资源库,保存数据资源库的配置;步骤2.3,初始化Kettle客户端以将Kettle所依赖的表和数据初始化到Kettle数据库中,并将Kettle数据库中所有表和数据导出到脚本文件;步骤2.4,初始化ETLWeb工程数据库,并将步骤2.3导出的脚本文件导入到该ETLWeb工程数据库下,使ETLWeb工程数据库下包含Kettle所依赖的表和数据。作为上述技术方案的进一步改进,步骤3中,所述在ETLWeb工程中导入相关的Kettle依赖jar包,基于初始化后的ETLWeb工程数据库完成Web工程的基础环境配置,具体为:在ETLWeb工程中导入Kettle客户端的安装路径下的lib文件夹中kettle-core、kettle-engine两个jar包,并将ETLWeb工程的数据源配置为步骤1中初始化后的ETLWeb工程数据库,完成Web工程的基础环境配置。作为上述技术方案的进一步改进,步骤4中,所述前台包括前端部分与后端部分;所述前端部分由前端框架技术构建而成,进而快速实现Kettle客户端对应于Web应用中的ETL配置的界面效果,同时完成同时完成ETLWeb应用的相关管理界面开发;所述后端部分包括与前端部分关联的Controller层、Service层和DAO层,所述Controller层、Service层和DAO层由SpringBoot微服务框架来实现对外的服务提供。作为上述技术方案的进一步改进,所述ETL配置包括数据转换配置、多个转换或任务组合起来的作业配置。作为上述技术方案的进一步改进,所述ETLWeb应用的相关管理界面包括全景视图、任务管理、调度管理、集群管理、日志管理和系统管理。作为上述技术方案的进一步改进,所述全景视图包括应用系统的转换统计、任务统计、作业统计,为对应整个应用系统的一个宏观统计的监控视图;所述任务管理包括转换管理、作业管理、任务组管理和任务监控,其中,转换管理包括对新增的转换进行查询、修改、删除、分配任务组,作业管理包括对新增的作业进行查询、修改、删除、分配任务组、配置定时执行制度,任务组管理包括对任务进行新增、修改、删除,任务监控包括查询用户组织权限下所有的监控任务信息,所述监控任务信息包括任务名、任务节点、任务类型、运行状态;所述调度管理是对作业的定时任务管理,包括对执行类型、执行节点、任务名的查询,和对定时任务的删除和修改;所述集群管理是指对Kettle集群的管理,包括集群中节点运行状态的监控、新增和删除节点;所述日志管理是指任务的历史日志详情记录,包含有任务名、任务类型、开始本文档来自技高网
...

【技术保护点】
1.一种基于Kettle的ETL Web应用系统架构方法,其特征在于,包括如下步骤:/n步骤1,创建Kettle数据库和ETL Web工程数据库;/n步骤2,初始化ETL Web工程数据库以及Kettle客户端所需要的表和数据,将初始化后的Kettle数据库中所有表和数据导入到ETL Web工程数据库中;/n步骤3,创建ETL Web工程,在ETL Web工程中导入相关的Kettle依赖jar包,基于初始化后的ETL Web工程数据库完成Web工程的基础环境配置;/n步骤4,基于Web工程的基础环境配置开发前台与后台;/n步骤5,在后台中部署Kettle集群并开启Carte服务。/n

【技术特征摘要】
1.一种基于Kettle的ETLWeb应用系统架构方法,其特征在于,包括如下步骤:
步骤1,创建Kettle数据库和ETLWeb工程数据库;
步骤2,初始化ETLWeb工程数据库以及Kettle客户端所需要的表和数据,将初始化后的Kettle数据库中所有表和数据导入到ETLWeb工程数据库中;
步骤3,创建ETLWeb工程,在ETLWeb工程中导入相关的Kettle依赖jar包,基于初始化后的ETLWeb工程数据库完成Web工程的基础环境配置;
步骤4,基于Web工程的基础环境配置开发前台与后台;
步骤5,在后台中部署Kettle集群并开启Carte服务。


2.根据权利要求1所述基于Kettle的ETLWeb应用系统架构方法,其特征在于,步骤1中,创建的数据库方案采用关系型数据库的MySQL或Oracle。


3.根据权利要求1所述基于Kettle的ETLWeb应用系统架构方法,其特征在于,步骤2的具体过程为:
步骤2.1,将与数据库方案对应的JDBC驱动jar包拷贝到Kettle客户端的安装路径下的lib文件夹下;
步骤2.2,采用Spoon模式启动Kettle客户端并新建数据库资源库,在数据库资源库新增界面中将创建的Kettle数据库作为其数据库资源库,保存数据资源库的配置;
步骤2.3,初始化Kettle客户端以将Kettle所依赖的表和数据初始化到Kettle数据库中,并将Kettle数据库中所有表和数据导出到脚本文件;
步骤2.4,初始化ETLWeb工程数据库,并将步骤2.3导出的脚本文件导入到该ETLWeb工程数据库下,使ETLWeb工程数据库下包含Kettle所依赖的表和数据。


4.根据权利要求1所述基于Kettle的ETLWeb应用系统架构方法,其特征在于,步骤3中,所述在ETLWeb工程中导入相关的Kettle依赖jar包,基于初始化后的ETLWeb工程数据库完成Web工程的基础环境配置,具体为:
在ETLWeb工程中导入Kettle客户端的安装路径下的lib文件夹中kettle-core、kettle-engine两个jar包,并将ETLWeb工程的数据源配置为步骤1中初始化后的ETLWeb工程数据库,完成Web工程的基础环境配置。


5.根据权利要求1所述基于Kettle的ETLWeb应用系统架构方法,其特征在于,步骤4中,所述前台包括前端部分与...

【专利技术属性】
技术研发人员:胡鹏王子新傅苗匡岳锋曹林贺群雄
申请(专利权)人:中电工业互联网有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1