分布式kettle调度平台v6.4.0新功能介绍
介绍
Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,由Pentaho(现为Hitachi Vantara)开发和维护。它提供了一套强大的数据集成和转换功能,用于从各种数据源提取数据、进行数据转换和清洗,并将数据加载到目标系统中。
-
ETL功能:Kettle专注于提供ETL功能,即从不同的数据源(如数据库、文件、Web服务等)中提取数据,并对数据进行转换和整理,最后将数据加载到目标系统中。它支持各种数据处理操作,如过滤、排序、聚合、连接、转换等,以满足不同的数据集成需求。
-
可视化设计:Kettle提供了一个可视化的设计界面,称为Spoon。通过Spoon,用户可以通过拖拽和连接各种组件来创建数据转换和工作流程。这种可视化的设计方式使得ETL过程更加直观和易于理解。
-
多种数据源支持:Kettle支持多种数据源的连接和操作,包括关系型数据库(如MySQL、Oracle、SQL Server等)、非关系型数据库(如MongoDB、Hadoop等)、文件(如CSV、Excel等)、Web服务(如REST API、SOAP等)等。这使得Kettle可以处理各种不同类型和格式的数据。
-
强大的转换和清洗功能:Kettle提供了丰富的转换和清洗功能,可以对数据进行各种操作,如字段映射、数据类型转换、数据清洗、数据合并、数据拆分等。这些功能使得数据在整个ETL过程中能够得到有效的处理和准备。
-
可扩展性: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.x | kettle源码嵌入单体服务中,不利于版本升级和管理 | |||||
| 前端UI | 框架 | vue2.X | easyUI, 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、完善概览报表页,新增执行异常任务统计

相关文章:
分布式kettle调度平台v6.4.0新功能介绍
介绍 Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,由Pentaho(现为Hitachi Vantara)开发和维护。它提供了一套强大的数据集成和转换功能,…...
企业数字化转型现状
国家数字经济战略背景 2018年以来,国家政府不断出台政策规范我国企业数字化治理市场。2018年9月颁布《关于发展数字经济稳定并扩大就业的指导意见》,支持建设一批数字经济创新创业孵化机构。积极推进供应链创新与应用,支持构建以企业为主导。…...
极客大挑战2024wp
极客大挑战2024wp web 和misc 都没咋做出来,全靠pwn✌带飞 排名 密码学和re没做出几个,就不发了 web ez_pop 源代码 <?php Class SYC{public $starven;public function __call($name, $arguments){if(preg_match(/%|iconv|UCS|UTF|rot|quoted…...
将django+vue项目发布部署到服务器
1.部署django后端服务 部署架构 1.1 下载依赖插件 pip3.8 freeze > requirements.txt1.2 安装依赖插件 pip3 install -r requirements.txt1.3 安装mysql数据库 apt install mysql-server初始化数据库 CREATE USER admin% IDENTIFIED WITH mysql_native_password BY 123…...
函数类型注释和Union联合类型注释
函数类型注释格式(调用时提示输入参数的类型): )def 函数名(形参名:类型,形参名:类型)->函数返回值类型: 函数体 Union联合类型注释(可注释多种类型混合的变量)格式: #先导入模块 from typing import…...
python画图|无坐标轴自由划线操作fig.add_artist(lines.Line2D()函数
【1】引言 新发现了一种自由划线操作函数,和大家共享。 【2】官网教程 点击下述代码,直达官网: https://matplotlib.org/stable/gallery/misc/fig_x.html#sphx-glr-gallery-misc-fig-x-py 官网代码非常简洁,我进行了解读。 …...
MacOS系统上Jmeter 录制脚本遇到的证书坑位
一、JMeter介绍与安装 1,下载及安装 jmeter官网地址 二、录制百度链接https请求时,需要导入jmeter相关证书到macos系统的更目录中. 导入方式,直接拖入mac的系统中,始终新人就可以; 三、jmeter 创建相关的录制组件…...
网络层协议IP
对于网络层我们直接通过IP协议来了解其内容 一.IP协议 首先我们先来了解几个概念: 主机:配有IP地址,但是不进行路由控制的设备 路由器:配有IP地址,同时进行路由控制的设备 节点:主机和路由器的统称 所以现在…...
《硬件架构的艺术》笔记(七):处理字节顺序
介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。 定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…...
反向代理模块
1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计 简介 在前端开发的世界里,HTML5和CSS3是构建现代网页的基石。本文将通过一个简单的HTML5页面模板,展示如何使用HTML5的结构化元素和CSS3的样式特性,来创建一个…...
spacy 安装 en_core_web_sm
目录 spacy win11 成功 linux No matching distribution found for numpy<3.0.0,>2.0.0 解决方法: linux安装失败: linux安装成功 从GitHub上下载 spacy win11 成功 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spacy linux N…...
SpringBoot(9)-Dubbo+Zookeeper
目录 一、了解分布式系统 二、RPC 三、Dubbo 四、SpringBootDubboZookeeper 4.1 框架搭建 4.2 实现RPC 一、了解分布式系统 分布式系统:由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点组成的系统 二、RPC RPC:远程…...
嵌入式的C/C++:深入理解 static、const 与 volatile 的用法与特点
目录 一、static 1、static 修饰局部变量 2、 static 修饰全局变量 3、static 修饰函数 4、static 修饰类成员 5、小结 二、const 1、const 修饰普通变量 2、const 修饰指针 3、const 修饰函数参数 4. const 修饰函数返回值 5. const 修饰类成员 6. const 与 #defi…...
信创改造 - TongRDS 替换 Redis
记得开放 6379 端口哦 1)首先在服务器上安装好 TongRDS 2)替换 redis 的 host,post,passwd 3)TongRDS 兼容 jedis # 例如:更改原先 redis 中对应的 host,post,passwd 改成 TongRDS…...
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
1、打开pycharm 没有pycharm的,在站内搜索安装教程即可。 2、点击“文件”“新建项目” 3、创建项目,Python版本中选择Python39。如果没有该版本,选择下面的Python 3.9下载并安装。 4、打开软件包,搜索“deep-forest”软件包&am…...
python VS c++
一、语法特点 Python: 语法简洁、优雅,代码可读性极强,采用缩进来表示代码块,摒弃了像 C 那样使用大括号的传统方式,使得代码看上去十分清晰简洁。例如: if 5 > 3:print("5大于3") elif 5 …...
提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法
Allure2的用途 Allure2是一个用于生成测试报告的框架,广泛应用于自动化测试和手动测试中。它支持多种测试框架,如JUnit、TestNG、MSTest等,通过生动的图表和详细的日志,使得非技术人员也能轻松地理解测试结果。许多团队选用Allur…...
基于IPMI的服务器硬件监控指标解读
在现代化数据中心中,服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况,运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件,支持使用IPMI(Intelligent Platform Management Interface&…...
VUE字符串转日期加天数
文章为本新手菜鸡的问题记录,如有错误和不足还行大佬指正 文章目录 问题描述解决方法 问题描述 得到一串字符串的日期,因为不是规范的日期格式,无法使用moment().add()方法,那么如何实现增加天数的操作? 解决方法 1…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
