zoukankan      html  css  js  c++  java
  • kettle web化

    kettle web化

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

    背景

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

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

    项目地址

    github

    特点

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

    展示

    界面用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管理任务
      • 任务失败预警
      • 任务失败重试
      • 更美观、友好的界面
    • 分布式任务执行、节点服务发现

    说明

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

    快速开始

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

    项目结构

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

    运行

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

    关于开源

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

  • 相关阅读:
    实验4-1-5 韩信点兵 (10分)
    实验4-1-6 求分数序列前N项和 (15分)
    实验7-1-5 选择法排序 (20分)
    实验7-1-2 求最大值及其下标 (20分)
    第一次个人编程作业
    3.Vue.js-目录结构
    2.VUEJS-安装
    1.Vuejs-第一个实例
    Mybatis通用Mapper介绍与使用
    商城项目团购之定时任务2
  • 原文地址:https://www.cnblogs.com/bener/p/10596181.html
Copyright © 2011-2022 走看看