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
查看任务执行情况

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

任务历史
查看历史任务,看日志

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

已实现
- Java API调用Kettle核心代码(基于Kettle 7.1)
- kjb调用ktr
- Shell
- MySQL
- Oracle
- Hive
- JS代码
- Java代码
- Kettle其他功能暂未测试,目前测试覆盖的功能如下

- 任务并行执行
- 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运行
关于开源
不足之处,请轻喷。欢迎志同道合的道友一起完善,谢谢~
kettle web化的更多相关文章
- kettle系列-4.kettle定制化开发工具类
要说的话这个工具类还是比较简单的,每个方法体都比较小,但用起来还是可以的,把开发中一些常用的步骤封装了下,不用去kettle源码中找相关操作的具体实现了. 算了废话不多了,直接上重点,代码如下: im ...
- 结对编程项目——C语言实现WordCount Web化
结对编程项目 代码地址 201631062219,201631011410 gitee项目地址:https://gitee.com/xxlznb/pair_programming 作业地址:https ...
- iBox v2.0 发布,Web化仿iOS7界面/交互的JavaScirpt库
iBox2 是一个仿 iOS 7 界面/交互的 JavaScirpt 库,它运行在 webkit 内核的移动浏览器之上,依赖 iScroll5,帮助开发者构建更接近 iOS 体验的 WebApp. 伴 ...
- BA 新web化 问题汇总
1. 3D堆栈图在winform端无法显示,但在web端可以正常显示,说明与浏览器版本有关,在 IE 中设置文档模式为 IE8 即报错,IE9 却正常显示,可在 <head>节点下添加如下 ...
- kettle系列-我的开源kettle管理平台[kettle-manager]介绍
kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端管理工具. 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题 ...
- Web打印组件jatoolsPrinter
应用web化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于web的应用,客户端的规则很简单,容易学习,容易维护,容易发布.但对程序员来说,因为浏览器的局限性,却要面对很多挑战.怎么样 ...
- 移动Web开发调研
背景 在移动互联网浪潮下,移动设备普及,对配置需要考虑移动端设备可访问性.Web作为最贴近用户的配置手段,面向从PC端传统页面,向移动端页面的转型. 概念 PC Web: 面向传统PC电脑的浏览器开发 ...
- 【腾讯Bugly干货分享】React移动web极致优化
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579083d1c9da73584b02587d 最近一个季度,我们都在为手Q家校 ...
- 简述几项关于web应用的开发技术
有几个人曾经问我,有哪些最有用或最好的编程语言适宜学习? 姑且略过HTML/CSS不谈,我认为答案取决于你想通过编程来做什么. 要点速览 对只用一种语言来构建某个项目的情况而言,Javascript和 ...
随机推荐
- 415 DOM 查找列表框、下拉菜单控件、对表格元素/表单控件进行增删改操作、创建元素并且复制节点与删除、 对表格操作、通用性和标准的事件监听方法(点击后弹窗效果以及去掉效果)
DOM访问列表框.下拉菜单的常用属性: form.length.options.selectedindex.type 使用options[index]返回具体选项所对应的常用属性:defa ...
- L2-007 家庭房产 (25 分) (并查集)
链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805068539215872 题目: 给定每个人的家庭成员和其自己名 ...
- AES加密解密算法
class Aes { /** * AES加密 * @param $data * @param $secret_key * @return string */ public static functi ...
- nginx conf_ctx ****
http://blog.chinaunix.net/uid-27767798-id-3840094.html 断断续续看完了,还是没有全部清晰
- MySQL时区错误导致server time zone value 'Öйú±ê׼ʱ¼ä' 错误
时区错误 由于中国是东八区,跟mysql配置不同,需要修改: 管理员登录MySQL OK成功
- C# 关于X86/X64/AnyCpu 的关系
电脑硬件CPU可以分为x86与x64, x86的机器只能安装32位的操作系统,如XP, WIN7_86, x64的机器既可以安装32位的系统,又可以安装64位的系统,只是在x64的机器上安装32位的系 ...
- 【mongo】查询超时处理
使用no_cursor_timeout collection = self.db[tb_name] cols = collection.find(no_cursor_timeout=True) for ...
- MathType7.X链接:https://pan.baidu.com/s/1rQ5Cwk5_CC9UgvgaYPVCCg 提取码:6ojq 复制这段内容后打开百度网盘手机App,操作更方便哦完美解压,无限使用
最近在写论文的过程中使用到了MathType,但是由于MathType30天使用已经过期,有些特殊符号用不了,于是开始找各种破解版.好吧,花了整整两个小时才算搞定,真是一部血泪史,现在把安装破解教程贴 ...
- loadrunner测试https
需要要代码前加上:web_set_sockets_option("SSL_VERSION", "TLS");
- UI---设置Activity背景为透明
1.在values下colors中设置透明颜色 <?xml version="1.0" encoding="utf-8"?> <resourc ...