当前位置: 首页 > 软件库 > 企业应用 > ETL工具框架 >

Kettle-Manager

Kettle 的 Web 端管理工具
授权协议 GPL
开发语言 JavaScript
所属分类 企业应用、 ETL工具框架
软件类型 开源软件
地区 国产
投 递 者 百里光熙
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

平台简介

出发点

专门为kettle这款优秀的ETL工具开发的web端管理工具。

kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。

基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。

关键信息

  1. 项目博客地址

功能介绍

主界面

参数设置

job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。

 

定时设置

操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。

 

运行与停止

核心功能就不说了。

强制结束

强制结束等待的作业,针对正常停止无效的情况。

实时日志

实时查看作业运行日志,这个功能看起来不起眼,实际应该是很有用的。

作业目录

获取作业目录。

新建作业

支持页面新建特定类的作业,当前是四类。这些作业都支持页面修改。其中的KM作业是基于我的插件开发。这里的作业继承com.oss.job.AbsJob,这样的作业支持这里的KM作业,也支持下面的定时调度使用。

 

删除作业

支持批量删除作业,这个很危险哦,小心使用,不会删除子转换和作业。

失败重启

支持配置失败自动重启、将job_version字段作为作业类别使用,便于分类管理。

定时调度

支持cron定时的调度,所有类必须继承:com.oss.job.AbsJob,作业支持参数配置,同一个类可以重复使用,传入不同的参数。这样开发的作业页支持用于上面的KM作业配置。

 

con设计

引入一个cron辅助设计模块

按顺序运行

我已经开发好了一个上面的KM作业:com.oss.job.KettleJobRunner,这样的作业可以作为KM作业使用,也可以用于定时调度使用。

这个作业已经包含在项目中了,可以直接使用。

请参考KM作业示例和定时调度示例。

运行状态

作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。

完成作业状态更新,日志文件记录的类:com.oss.job.JobManager,使用方式与按顺序运行的作业类似,请参考使用。

为了使部署简单,项目默认不依赖我开发的插件,你不使用KM作业功能,就不需要我开发的插件,项目默认已经在定时调度配置了该作业,并默认运行。

平台级日志

一般好的作业设计都会记录自己的日志表,详细记录作业运行状况,本平台提供了平台级日志功能,不涉及业务,记录了作业的开始停止时间,最终运行结果。

日志文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。

该功能也是由com.oss.job.JobManager作业实现。与运行状态更新是同一个作业。

业务日志

Km数据库中有一张我设计的专门用于记录业务日志的表:METL_KETTLE_LOG,这个表是根据我们平常设计作业的经验设计的,需要作业设计人员在设计作业时填充此表数据,本平台已经默认提供了此表的查询。

此日志与平台级日志是互补关系,此日志更详细,涉及业务,平台级日志是后盾,主要用于问题排查等。

 

KM作业示例

JS作业示例

该作业前部分操作基本与KM类似,区别在于具体的js基本配置

SQL作业示例

该作业前部分操作基本与KM类似,区别在于需要选择数据库,然后就是数据库脚本了

Shell作业示例

该作业前部分操作基本与KM类似,额外的需要配置脚本运行路径,默认:/tmp。

作业在linux上运行就写shell脚本,在windows上运行就写bat脚本。

都比较直观,就不多说了。

定时调度示例

 

后续计划

  1. 支持简单的表对表作业新增。
  2. 考虑新增转换管理,开发通用km作业支持转换运行。
  3. 一个job同时在多个km中运行还需要考虑,日志,状态等
  4. 任务管理在设置定时时可能需要人为分散定时,考虑生成时间-运行任务数的分析图辅助进行分散定时。
  5. 作业管理显示上一次和下一次运行时间。
  6. 作业管理支持配置文件资源库运行。
  7. 改为支持文件资源库和更多数据库作为资源库。
  8. 权限管理,不同用户看到自己的作业,管理员看所有作业。
  9. 分布式、集群支持。
  • Caused by: java.lang.ClassNotFoundException: org.pentaho.hadoop.shim.api.format.IParquetInputField at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_101] at java.lang.ClassLoader

  • kettle系列-我的开源kettle调度、管理平台[kettle-manager]介绍 http://www.cnblogs.com/majinju/p/5739820.html kettle系列-kettle管理平台部署说明 http://www.cnblogs.com/majinju/p/5767001.html   问题汇总: 1.用kettle可以从hive2中将数据抽出来,但是在ket

  • 问题未解决,不用往下看了 [root@lx01 data-integration]# ./carte.sh 192.168.50.232 8080 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 15:11:41,466 INFO [

 相关资料
  • (商用请联系作者获取授权,个人用户无限制) 简介 FTP Manage Tools(FTP管理工具)是一个基于WEB的FTP客户端程序,你可以通过它对你的FTP文件进行管理。 程序采用AJAX,由PHP+JQuery/JavaScript完成。 你可以在http://119.29.112.32/ 进行体验。 包含功能 包括文件新建、上传、下载、复制、剪切、粘贴、删除、重命名,对Windows平台的

  • Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle

  • 概述 常用操作 项目初始化 库的安装 库的搜索和查看 库的更新和卸载 列出所有库 配置文件.bowerrc 相关链接 概述 随着网页功能变得越来越复杂,同一张网页加载多个JavaScript函数库早已是家常便饭。开发者越来越需要一个工具,对浏览器端的各种库进行管理,比如搜索、自动安装\卸载、检查更新、确保依赖关系等等。Bower就是为了解决这个问题而诞生的针对浏览器端的库管理工具。 Bower基于

  • 主要内容:下载 RockMongo,安装 RockMongo,创建数据库,创建集合,创建文档,导出/导入数据RockMongo 是一个 MongoDB 管理工具,您可以使用它来管理 MongoDB 服务、数据库、集合、文档、索引等等。它为阅读、编写和创建文档提供了一种非常友好的方式,类似于使用 PHP 开发的 MySQL 管理工具 PHPMyAdmin。 下载 RockMongo 您可以从 https://gitee.com/mirrors/rockmongo 或 https://github.

  • crontab A crontab tool build by golang Crontab 背景: 在实际工作中经常需要在服务器上添加定时任务,当任务多了的时候管理起来就比较麻烦,所以想要有一个方便使用和管理的crontab工具 功能介绍: 使用web api的方式提供任务的添加、删除、查看、运行状态、暂停、恢复、重新加载配置、日志查看等功能,清晰的任务执行日志和工具的系统日志便于问题查找和任务

  • 基于Web的Neo4j图数据库管理工具是我们与Neo4j数据库主要的用户交互接口。使用它,你可以: - 监控 Neo4j 服务器 - 维护和浏览数据 - 通过控制台与数据库直接进行交互操作 - 浏览管理对象(JMX MBeans) 在你安装了Neo4j服务器后,这个工具可以通过地址: http://127.0.0.1:7474/访问。要使用它与嵌入模式的Neo4j图数据库交互,请参考:server