分布式kettle调度平台- web版转换,作业编排新功能介绍

介绍

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二开工具的对比发现,目前尚未有一款好用的调度管理工具。经此,于是准备开发一款简单易用,灵活部署,可以水平扩展的分布式调度管理平台。

此次新功能是基于kettle的spoon进行web化处理,实现了spoon客户端的95%的功能,兼容kettle 99%的底层能力。web化的目的是为了数据开发人员去编排数据任务,增强了数据安全,权限管理,角色管理,以及任务执行监控的能力。

新功能介绍

1、kettle spoon功能的全面web化,更流畅的操作

采用extJs前端技术将kettle spoon进行1比1的web化,实现了其95%的功能,兼容kettle7.x, 8.x, 9.x, 10.x工作流。解决了spoon不能多实例部署和容易卡死的情况,所有用户都可以登录系统,进行数据开发工作的任务编排。

kettle web化演示视频

2、全部组件更友好的汉化结果

每个组件的每个配置项给了详细的说明,便于使用者更好的上手

3、 增强 转换,作业资源的统一存储,管理

用户的资源文件支持本地存储,minio分布式存储,支持用户数据权限设置,分配

4、增强 系统的稳定性提升

采用springcloud微服务架构,可单点部署,也可集群部署,支持任务执行失败的重试机制,和单点故障的转移机制。

5、增强 插件式开发,支持kettle多版本的兼容性

系统本身功能和spoon类似,仅作为一个agent, 但更贴近于高内聚低耦合设计思想,通过向server端发送相关请求,即可实现全流程的操作。无集成kettle源码,无入侵kettle源码,采用插件式开发,只需将插件包复制到kettle目录中即可完成新功能的升级,丝滑升级,灵活管理。

6、增强 更简化的任务集群执行方式

支持各个集群节点的执行步骤详情汇总展示,相比原版Spoon更直观。

更直观的子任务执行日志查看

7、增强 更简单的插件开发模式

全面web化之后,无需开发xxxDialog相关ui组件,只需开发后端插件即可,前端组件通过拖拉拽即可完成开发。

8、更精准的任务状态监听机制

采用最新的回调监听机制,毫秒级的状态变更捕获,同时辅助于轮询队列的补偿监听,防止节点宕机无法触发回调通知,进而自动触发补偿执行机制,保证了单点故障的转移。确保了任务执行率99%以上

总结

该全新功能采用微服务开发模式,与分布式kettle调度平台无耦合,二者即可组合使用,也可各自单独使用 。web化模块仅支持企业版,如需体验,可单独私信。

相关推荐
爱吃泡芙的小白白14 分钟前
爬虫学习——使用HTTP服务代理、redis使用、通过Scrapy实现分布式爬取
redis·分布式·爬虫·http代理·学习记录
躺不平的理查德7 小时前
General Spark Operations(Spark 基础操作)
大数据·分布式·spark
talle20217 小时前
Zeppelin在spark环境导出dataframe
大数据·分布式·spark
渣渣盟7 小时前
大数据开发环境的安装,配置(Hadoop)
大数据·hadoop·分布式
Angindem8 小时前
SpringClound 微服务分布式Nacos学习笔记
分布式·学习·微服务
龙仔72516 小时前
离线安装rabbitmq全流程
分布式·rabbitmq·ruby
〆、风神18 小时前
Spring Boot 整合 Lock4j + Redisson 实现分布式锁实战
spring boot·分布式·后端
胡萝卜糊了Ohh20 小时前
kafka
分布式·kafka
桑榆08061 天前
Spark-Streaming核心编程
大数据·分布式·spark