kettle java web_kettle web化

kettle web化

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

背景

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

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

项目地址

特点

Java API调用Kettle核心代码

任务并行执行

Web管理任务

展示

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

dashboard

查看任务执行情况

9f9201a8d9a1bfa6409a1c99b8860a0b.png

任务

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

e1156b43a3cf1037cc9e05124865c486.png

任务历史

查看历史任务,看日志

013381d089cab3a2a2658e85319addb8.png

计划任务

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

a768b750fd4bd06537120af2587cb543.png

已实现

Java API调用Kettle核心代码(基于Kettle 7.1)

kjb调用ktr

Shell

MySQL

Oracle

Hive

JS代码

Java代码

Kettle其他功能暂未测试,目前测试覆盖的功能如下

b04d0d65350a05c425226655f4510006.png

任务并行执行

Web管理任务

任务监控dashboard

任务组(分组管理)

任务(任务定义,比如kjb路径)

任务变量(将任务变量传入kjb,可在kjb中、或者ktr中获取到)

任务历史(历史任务,任务执行日志)

计划任务(定时调度)

暂未实现

Web管理任务

任务失败预警

任务失败重试

更美观、友好的界面

分布式任务执行、节点服务发现

说明

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

快速开始

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

项目结构

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

运行

导入IDE,运行main方法

执行mvn clean spring-boot:run

打包mvn package,通过java -jar target/kettle-web-{version}.jar运行

关于开源

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值