kettle web化

/ Kettle / 没有评论 / 114浏览

通过Java API调用kettle核心代码,并基于Spring Boot提供简易的Web管理界面。

背景

在工作中,通过kettle这款ETL产品进行数据处理时,是通过kitchen命令调用kettle,会启动一个jvm程序处理。在运行时,如果几个任务同时跑,那么会占用比较高的内存。而且每次启动kettle时,会先初始化运行环境。

因此,通过Java API调用kettle核心代码,在程序启动时只初始化一次运行环境,后续任务都提交到任务线程池处理,不需要每个任务都启动jvm实例,能单机的提高并发。

项目地址

github

特点

展示

界面用Bootstrap3和jQuery简单撸了下。

dashboard

查看任务执行情况

dashboard

任务

定义任务(目前需要指定kjb的路径),执行任务

任务

任务历史

查看历史任务,看日志

任务

计划任务

通过定义cron表达式,计划执行任务

计划任务

已实现

暂未实现

说明

该系统暂未投入生产使用,想尝试的道友不妨在测试环境试试水,或者等发布稳定版。

快速开始

本项目为Spring Boot标准项目,clone到本地修改application.yml中的数据源配置即可。

项目结构

Spring Boot标准结构,利于二次开发。

运行

关于开源

不足之处,请轻喷。欢迎志同道合的道友一起完善,谢谢~