linux kettle web管理,一种基于Web管理和调度Kettle抽数工具的方法与流程

本发明涉及Web管理Kettle工具技术领域,特别涉及一种基于Web管理和调度Kettle抽数工具的方法。

背景技术:

信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL(Extraction-Transformation-Loading,数据抽取、转换和加载)工具则是主要的一个技术手段。

ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程,是构建数据仓库的重要一环。用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

ETL工具负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL是BI(Business Intelligence,商业智能)项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL工具设计的好坏直接关接到BI项目的成败。ETL工具也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL工具运行效率更高,为项目后期开发提供准确的数据。

为了帮助企业或行业应用用户处理经常遇到的各种数据的处理,转换和迁移,Kettle工具应运而生。

Kettle工具是为了解决数据抽取而产生的一款非常优秀的开源ETL工具。Kettle工具可以在Window环境、Linux环境和Unix环境中运行,支持图形化的GUI(Graphical User Interface,图形用户界面)设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现。更重要的是,用户通过熟练的应用Kettle工具,能够减少非常多的研发工作量,提高用户的工作效率。

但是,Kettle工具在使用过程中也有很多不便利的地方,比如只支持桌面版的GUI,没有Web页面来管理和调度Kettle任务。如果安装部署到linux环境中,没有安装桌面工具的linux系统则无法方便快捷的使用Kettle。Kettle工具急需一个专业的Web调度页面来管理和调度Kettle任务。

基于上述情况,本发明设计了一种基于Web管理和调度Kettle抽数工具的方法。

技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Web管理和调度Kettle抽数工具的方法。

本发明是通过如下技术方案实现的:

一种基于Web管理和调度Kettle抽数工具的方法,其特征在于:由于Kettle抽数工具本身为开源项目,源代码共享,因而可以将Kettle源码集成到包含前端架构的Web应用中,通过适配器模式开发出能够正常调用Kettle API((Application Programming Interface,应用程序编程接口)类的方法来执行转换和作业,并且使用time-quartz框架完成调度工作。

所述Web应用前端采用bootstrap,后端采用spring boot+spring mvc+spring+mybatis,数据库使用MySQL数据库。

所述Web应用打包部署到Tomcat服务器后,可以通过浏览器Web页面直接调度Kettle任务,管理作业转换,监控作业状态,并实时监控Kettle调度任务,邮件通知工作人员数据转换结果,将Kettle任务状态及时反馈给工作人员,使工作人员能够第一时间掌握数据转换结果。

当一个任务,包括作业和转换,启动后,这个任务就处于系统的监控状态下;所述Web应用UI(User Interface用户界面)界面中,首页用于显示监控信息;查看详情页面可以查看每次执行任务的日志及执行时间,且日志可以下载。

所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况。

所述Web应用UI(User Interface用户界面)界面中,首页仅显示前10条转换监控记录和前10条作业监控记录。

所述Web应用对Kettle抽数工具的管理,包括数据库资源库管理,作业定时任务管理,执行策略管理和对处于运行的作业的作业监控管理。

所述数据库资源库管理包括新增,修改和删除数据库资源库;

所述作业定时任务管理包括新增,修改和删除作业定时任务,启动作业定时任务后作业即开始运行;

所述执行策略管理包括新增,修改和删除执行策略或定时执行策略;

所述作业监控管理包括监控总作业任务数,总执行成功次数,总执行失败次数以及每个作业的成功次数和失败次数。

本发明的有益效果是:该基于Web管理和调度Kettle抽数工具的方法,使用Web页面就能够管理和调度Kettle任务,不但减少了Kettle对自身GUI的依赖,还减少了系统环境对使用Kettle便利性的影响,同时支持对Kettle调用日志的监控,使开发人员能够更精准的监控Kettle任务,能够随时掌握Kettle工具中各个任务的工作状态,能够保证Kettle工具的稳定运行。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该基于Web管理和调度Kettle抽数工具的方法,由于Kettle抽数工具本身为开源项目,源代码共享,因而可以将Kettle源码集成到包含前端架构的Web应用中,通过适配器模式开发出能够正常调用Kettle API((Application Programming Interface,应用程序编程接口)类的方法来执行转换和作业,并且使用time-quartz框架完成调度工作。

time-quartz框架是一个定时任务框架,可以实现异常灵活的定时任务。开发人员只要编写少量的代码就可以实现“每隔1小时执行”、“每天22点执行”、“每月18号的下午执行8次”等各种定时任务。

所述Web应用前端采用bootstrap,后端采用spring boot+spring mvc+spring+mybatis,数据库使用MySQL数据库。

Bootstrap是Twitter推出的一个开源的用于web前端开发的工具包,是基于jQuery框架开发的。它在jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。

所述Web应用打包部署到Tomcat服务器后,可以通过浏览器Web页面直接调度Kettle任务,管理作业转换,监控作业状态,并实时监控Kettle调度任务,邮件通知工作人员数据转换结果,将Kettle任务状态及时反馈给工作人员,使工作人员能够第一时间掌握数据转换结果。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

当一个任务,包括作业和转换,启动后,这个任务就处于系统的监控状态下;所述Web应用UI(User Interface用户界面)界面中,首页用于显示监控信息;查看详情页面可以查看每次执行任务的日志及执行时间,且日志可以下载。

所述监控信息包括总监控任务数,监控作业数,监控转换数,转换监控记录,作业监控记录以及一个月内作业和转换的监控状况。

所述Web应用UI(User Interface用户界面)界面中,首页仅显示前10条转换监控记录和前10条作业监控记录。

所述Web应用对Kettle抽数工具的管理,包括数据库资源库管理,作业定时任务管理,执行策略管理和对处于运行的作业的作业监控管理。

所述数据库资源库管理包括新增,修改和删除数据库资源库;

所述作业定时任务管理包括新增,修改和删除作业定时任务,启动作业定时任务后作业即开始运行;

所述执行策略管理包括新增,修改和删除执行策略或定时执行策略;

所述作业监控管理包括监控总作业任务数,总执行成功次数,总执行失败次数以及每个作业的成功次数和失败次数。

该基于Web管理和调度Kettle抽数工具的方法,使用Web页面就能够管理和调度Kettle任务,不但减少了Kettle对自身GUI的依赖,还减少了系统环境对使用Kettle便利性的影响,同时支持对Kettle调用日志的监控,使开发人员能够更精准的监控Kettle任务,能够随时掌握Kettle工具中各个任务的工作状态,能够保证Kettle工具的稳定运行。

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle管理工具专门为kettle这款优秀的ETL工具开发的web管理工具。项目简介kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web管理工具kettle自带了一个web管理工具界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理工具。基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web管理工具。本系统当前支持oracle和mysql项目功能job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。定时设置,操作界面kettle中的开始控件界面一致,这个可能是最优用的功能之一。作业的运行与停止,核心功能就不说了。实时查看作业运行日志,最大显示行数可以配置,这个功能看起来不起眼,实际应该是很有用的。后台有一个作业专门完成将运行的作业日志写入日志文件,文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。本系统是基于数据库资源库设计的,暂时不考虑支持文件资源库。本系统还附带了一个kettle插件,类似kettle已有的自定义类控件(可以在转换中写java代码)。该控件的设计时为了避免每一个需求都去开发一个kettle控件,从后台元数据管理到操作界面设计。该控件采用灵活的JSON传递参数,然后继承一个基类就可以完成一个任务了,就是说基于该控件,只需要开发一个具体的操作类就可以了。有兴趣可以看一下,详细介绍参看:http://www.cnblogs.com/majinju/p/5767046.html。界面截图主界面定时设置界面参数设置界面运行日志查看界面平台级日志,支持查询下载项目介绍主页:kettle-manager主页 标签:Kettle  ETL工具框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值