Bootstrap

分布式kettle调度平台v6.4.0新功能介绍

 介绍

Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,由Pentaho(现为Hitachi Vantara)开发和维护。它提供了一套强大的数据集成和转换功能,用于从各种数据源提取数据、进行数据转换和清洗,并将数据加载到目标系统中。

  1. ETL功能:Kettle专注于提供ETL功能,即从不同的数据源(如数据库、文件、Web服务等)中提取数据,并对数据进行转换和整理,最后将数据加载到目标系统中。它支持各种数据处理操作,如过滤、排序、聚合、连接、转换等,以满足不同的数据集成需求。

  2. 可视化设计:Kettle提供了一个可视化的设计界面,称为Spoon。通过Spoon,用户可以通过拖拽和连接各种组件来创建数据转换和工作流程。这种可视化的设计方式使得ETL过程更加直观和易于理解。

  3. 多种数据源支持:Kettle支持多种数据源的连接和操作,包括关系型数据库(如MySQL、Oracle、SQL Server等)、非关系型数据库(如MongoDB、Hadoop等)、文件(如CSV、Excel等)、Web服务(如REST API、SOAP等)等。这使得Kettle可以处理各种不同类型和格式的数据。

  4. 强大的转换和清洗功能:Kettle提供了丰富的转换和清洗功能,可以对数据进行各种操作,如字段映射、数据类型转换、数据清洗、数据合并、数据拆分等。这些功能使得数据在整个ETL过程中能够得到有效的处理和准备。

  5. 可扩展性:Kettle提供了一套插件机制,允许用户根据自己的需求进行功能扩展和定制。用户可以编写自定义的插件,以满足特定的数据集成和处理需求。

Kettle是一款功能强大、灵活可扩展的ETL工具,适用于各种数据集成和转换任务。在开源系统中,它的可视化设计界面和丰富的功能使得数据处理变得更加简单和高效。

尽管目前市面上开源ETL老牌工具有Sqoop,datax,Canal、StreamSets等,新晋ELT工具有airbyte, seaTunnel等。但kettle作为传统老牌ETL工具,在易用性,资料丰富性等方面仍然有一席之地,对于千万级内的数据量级处理,仍是不可替代的优秀ETl工具之一。

本人是KETTLE使用爱好者以及二次开发者,拥有8年的丰富使用经验。在使用过程中针对kettle的弱项,以及对市面上一些kettle二开工具的对比发现,目前尚未有一款好用的调度管理工具。经此,于是准备开发一款简单易用,灵活部署,可以水平扩展的分布式调度管理平台。

功能介绍和对比

废话不多说,上才艺:

比较维度功能本产品第三方产品
设计及架构框架springcloud微服务springboot或springmvc单体
设计前后端分离ui层管理,调度,执行耦合在一个服务中
调度层
agent层
执行层
调度层基于xxl-job封装和优化,支持集群和动态分片,集群模式下支持数十万至百万级任务调度基于quartz或者spring schedule组件
agent层springcloud微服务模式,用来管理kettle的carte服务,支持水平扩展,接受调度层的指令,来向执行层发送转换做作业的任务。
1、支持carte服务的管理和探活,自动剔除异常节点,和故障转移
2、支持8种负载均衡策略
3、基于分片模式的任务执行状态定时检测,不存在单点压力和故障。
4、任务异常告警,carte服务监控告警可视化配置
执行层基于kettle的carte模式采用插件策略二次开发,无代码入侵,不集成任何kettle源码,兼容kettle5.x, kettle6.x, kettle7.x, kettle8.x,kettle9.xkettle源码嵌入单体服务中,不利于版本升级和管理
前端UI框架vue2.XeasyUI, jquery, bootstrap
权限设计基于RBAC模式设计部门,岗位,角色
菜单,按钮,资源层精细化控制
数据权限
业务模块设计数据集成任务报表概览任务管理
项目管理
任务管理
集群管理
节点管理
元数据管理血缘分析
数据源管理
数仓管理ODS原始数据层
DWD数据明细层
DWS服务数据层
ADS数据应用层
数据服务数据发布
授权管理
api管理
监控模块服务器监控Prometheus,hertzbeat
服务级监控grafana
jvm监控
日志观测;链路追踪模块loki日志可视化loki日志可视化
oss日志存储oss日志存储
jaeger链路追踪jaeger链路追踪

架构设计

 

新功能介绍 

1、支持本地资源库模式配置

对于万级以下的任务数,可以不用依赖于笨重的pentaho-server来管理资源转换文件,直接将转换文件存放在kettle节点所在服务器上面。

2、支持本地转换,作业文件的 kettle集群间自动同步功能

 如果是同时存在多个kettle的执行节点,而又使用本地资源库来存放文件,则节点间的同步需要手动去操作进行文件拷贝和更新。这里支持多服务器间的转换,作业批量同步功能,自动进行更新,版本控制。

1、选择要同步的文件夹

2、设置要共享的节点

点击保存之后,共享节点页面会接受到请求:

点击添加,设置要存储的路径。

设置完成要存储的路径后,就会开始自动同步。

登录到服务器,即可查看同步成功

 

3、支持任务的上线,下线操作 

任务一旦发布上线之后,编辑,修改,删除功能会被置灰,禁用。确保任务在执行过程中,不会被随意篡改和删除操作 。下线之后,会恢复正常的增删改操作。

4、完善概览报表页,新增执行异常任务统计

 

;