kettle管理工具
- 专门为kettle这款优秀的ETL工具开发的web端调度、管理工具。
-
项目简介
- kettle做为很是优秀的开源ETL工具获得了很是普遍的使用,通常的使用的都是使用客户端操做管理,但问题是当投入生产环境使用时,动辄上百或几百个job须要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操做麻烦,总之仍是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本没法投入生产环境使用,其余没留意到还有没有较好对众多job进行管理的工具。
- 基于以上状况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。
- 本系统当前支持oracle和mysql
- 本平台已经管理数百的job,并正常运行半年以上。
项目功能
- job运行参数设置,能够在页面上设置做业运行参数,每次运行做业时会用设置的参数覆盖默认值,这个不少人用不上。
- 定时设置,操做界面与kettle中的开始控件界面一致,这个多是最优用的功能之一。
- 做业的运行与中止,核心功能就不说了。
- 实时查看做业运行日志,最大显示行数能够配置,这个功能看起来不起眼,实际应该是颇有用的。
- 后台有一个做业专门完成将运行的做业日志写入日志文件,文件按天分文件夹存放,日志文件大小能够配置,若以为占用空间,能够设计一个做业进行定时清理之前的日志文件,后续会提供该做业。也能够配置为不写日志文件。
- 做业的运行状态会定时反映到管理界面,咱们能够经过多种条件筛选咱们须要的做业进行批量运行或中止。
- 本系统是基于数据库资源库设计的,暂时不考虑支持文件资源库。
- 本系统还附带了一个kettle插件,相似kettle已有的自定义类控件(能够在转换中写java代码)。该控件的设计时为了不每个需求都去开发一个kettle控件,从后台元数据管理到操做界面设计。该控件采用灵活的JSON传递参数,而后继承一个基类就能够完成一个任务了,就是说基于该控件,只须要开发一个具体的操做类就能够了。有兴趣能够看一下,详细介绍参看:kettle系列-[KettleUtil]kettle插件,相似kettle的自定义java类控件
界面截图
主界面html

定时设置界面java

参数设置界面mysql

运行日志查看界面git

平台级日志,支持查询下载github

使用说明
请参看个人另外一篇博文:kettle系列-kettle管理平台部署说明web
开发说明
- 通常都不须要本身开发,直接使用就行,如有bug或新功能需求,能够发邮件给我。
- 本项目基于开源项目EOVA开发:eova。
- 若想进一步扩展功能,建议先搭建kettle开发环境,能够参考个人博文:kettle系列-1.kettle源码获取与运行
- 个人博客中还有多篇文章介绍kettle的源码等,能够做为参考。
后期开发计划sql
- 任务管理在设置定时时可能须要人为分散定时,考虑生成时间-运行任务数的分析图辅助进行分散定时。
- 做业管理显示下一次运行时间。
- 权限管理,不一样用户看到本身的做业,管理员看全部做业。
附录
- 项目地址
- 个人邮箱:jinjuma@yeah.net。
- 交流QQ群:320302530(已满勿加),交流2群:142104962
- 已经打包好的软件下载