• Stars
    star
    275
  • Rank 149,796 (Top 3 %)
  • Language
    Java
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于spring boot通过java代码调用kette

读我

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

特点

  • Java API调用Kettle核心代码
  • 任务并行执行
  • Web管理任务

更新

2021-08-18

  • 修复失效的 maven 私服,导致编译错误
  • 目前存在问题: database type with plugin id [HIVE2] couldn't be found!

展示

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

dashboard

查看任务执行情况

dashboard

任务

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

任务

任务历史

查看历史任务,看日志

任务

计划任务

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

计划任务

已实现

  • Java API调用Kettle核心代码(基于Kettle 7.1
    • kjb调用ktr
    • Shell
    • MySQL
    • Oracle
    • Hive
    • JS代码
    • Java代码
    • Kettle其他功能暂未测试,目前测试覆盖的功能如下 kjb
  • 任务并行执行
  • Web管理任务
    • 任务监控dashboard
    • 任务组(分组管理)
    • 任务(任务定义,比如kjb路径)
    • 任务变量(将任务变量传入kjb,可在kjb中、或者ktr中获取到)
    • 任务历史(历史任务,任务执行日志)
    • 计划任务(定时调度)

暂未实现

  • Web管理任务
    • 任务失败预警
    • 任务失败重试
    • 更美观、友好的界面
  • 分布式任务执行、节点服务发现

说明

目前线上通过kitchen脚本调用kjb执行,当任务较多,导致资源浪费(每次执行都启动一个JVM实例)。因此,查找资料,通过Java API直接调用执行,并做了一个简易的Web管理,

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

快速开始

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

  • 由于本项目采用JPA,因此会自动建表,只需要创建好数据库。
  • quartz数据库脚本直接在quartz jar包中获取即可,例如/org/quartz/impl/jdbcjobstore/tables_mysql_innodb.sql
  • 表job_history的log_text字段长度不够,启动后调整为longblob类型

项目结构

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

运行

  • 导入IDE,运行main方法
  • 执行mvn clean spring-boot:run
  • 打包mvn package,通过java -jar target/kettle-web-{version}.jar运行

关于开源

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

More Repositories

1

requests

http requests lib for golang
Go
68
star
2

eureka-client

eureka client by golang
Go
59
star
3

flink-cdc

CDC(变化数据捕获)实时同步方案,秒级延迟。
Java
57
star
4

easy-java

整理java技术要点,让java更简单,更容易上手。
Java
30
star
5

fine-report

帆软报表9.0,基于spring boot。
Java
28
star
6

fine-report-10

帆软报表10.0,基于spring boot
Java
22
star
7

stsm

毕业设计-分布式软件测试管理系统的设计与实现
Java
13
star
8

dag-executor

基于多线程 DAG 任务流执行库
Java
13
star
9

ohmydata

数据服务 —— 写个 SQL 即可发布成 API
Go
12
star
10

wxlotterydraw

微信公众号抽奖后台
Java
9
star
11

dataflow

基于 Spark 任务流
Scala
8
star
12

spring-boot-cas-client

spring boot 集成 cas
Java
7
star
13

front

vuejs 2.0 + webpack 构建前端项目
JavaScript
6
star
14

spring-security-example-ajax

spring-security-example javaConfig 登录ajax提交,返回认证的JSON信息;session管理、remember-me等。
Java
6
star
15

pusher

golang websocket pusher server
Go
5
star
16

fabric-deploy

超级账本离线部署、添加组织
Shell
5
star
17

backend

后端开发学习计划,也许能帮到你~
Java
5
star
18

FileServer

golang简易文件服务器
Go
5
star
19

graph

图,邻接矩阵实现(Golang版本)
Go
4
star
20

mini

一个简单的后台管理系统-基于Java SSM,Java Config配置
Java
4
star
21

spring-boot-starter

自用 spring boot starter
Java
4
star
22

novel

golang爬取小说资源
JavaScript
4
star
23

spark-programming

spark代码
Scala
4
star
24

summer

a simple mvc lib base on Netty4.x for study
Java
3
star
25

hive-query

hive可视化web系统
HTML
3
star
26

book_system

大三上学期软件体系结构实验(图书管理系统)
Java
3
star
27

dubbo-example-annotation

dubbo-example-annotation
Java
3
star
28

influxdb-spring-boot-starter

A lower level influxdb api for spring boot
Java
2
star
29

starter-parent

spring boot starter
Java
2
star
30

rest-spring-boot-starter

spring boot统一业务异常处理,统一返回格式包装
Java
2
star
31

xinQing

自己尝试实现SpringFramework的一些简单功能
Java
2
star
32

kafka-example

kafka examples
Java
2
star
33

GoMusic

golang实现music website
Go
2
star
34

spring-boot-v2-webflux

spring-boot 2.0 webflux
Java
2
star
35

oracle_study

oracle学习
1
star
36

java11-examples

java11 examples
Java
1
star
37

lab_system

大三数据库实验,实验室管理系统
JavaScript
1
star
38

logger

基于spring boot的日志跟踪组件
Java
1
star
39

spring-security-example

Spring Security Example - JavaConfg
Java
1
star
40

colly_plus

A functional spider based on colly
Go
1
star
41

ddpig

Spark 与 Spring Boot 结合进行交互式 Session
Java
1
star
42

spring-cloud-v2

spring cloud 2.x示例
Java
1
star
43

blog

hexo搭建个人博客
CSS
1
star