合集-kettle

摘要:1、我们在学习nifi的过程中有接触到Avro schema,当时我在想kettle应该也支持Avro,果不其然kettle也是支持Avro文件的读和写的。今天我们一起来学习下kettle中如何使用Avro input 读步骤。对Avro 不了解的,可以学习文章ETL工具-nifi干货系列 第四讲 阅读全文
posted @ 2024-04-05 19:46 慕容尘轩 阅读(1361) 评论(0) 推荐(0)
摘要:1、上一节课我们学习了avro input,本节课我们一起学习下avro out步骤。 本节课通过json input 加载json文件,通过avro out 生成avro二进制文件,写日志步骤打印日志。将json input、avro output、写日志三个步骤拖到画布,然后连线,如下图所示: 阅读全文
posted @ 2024-04-14 16:38 慕容尘轩 阅读(653) 评论(0) 推荐(0)
摘要:1、MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。 MQTT 是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic) 阅读全文
posted @ 2024-04-21 16:18 慕容尘轩 阅读(822) 评论(0) 推荐(0)
摘要:1、上一节课我们学习了MQTT producer 生产者步骤,MQTT consumer消费者步骤。该步骤可以从支持MRQTT协议的中间件获取数据,该步骤和kafka consumer 一样可以处理实时数据交互,如下图所示: 2、双击步骤打开MQTT consumer 配置窗口,如下图所示: Ste 阅读全文
posted @ 2024-04-21 16:18 慕容尘轩 阅读(1061) 评论(2) 推荐(0)
摘要:1、调整JVM大小 linux文件路径:data-integration/spoon.sh windows路径: -Xms1024m:设置JVM初始内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmx2048m:设置JVM最大可用内存为2048M。 - 阅读全文
posted @ 2024-06-04 22:05 慕容尘轩 阅读(1818) 评论(2) 推荐(1)
摘要:1、 Excel输入,Microsoft Excel输入步骤的作用是从Microsoft Excel中读取数据,如下图所示: 1)Excel输入步骤从文件D:\data\测试数据.xlsx读取数据。 2)将数据通过写日志步骤打印出来。 2、Excel输入步骤-文件配置 步骤名称:自定义 表格类型(引 阅读全文
posted @ 2024-05-05 21:06 慕容尘轩 阅读(1162) 评论(0) 推荐(0)
摘要:1、9.4 版本的kettle中有两个Excel输出,Excel输出和Microsoft Excel输出。前者只支持xls格式,后者支持xls和xlsx两种格式,本节课主要讲解步骤Microsoft Excel输出,如下图所示: 1)、步骤【生成记录】生成两条测试数据,每条数据里面包含id和name 阅读全文
posted @ 2024-05-05 21:07 慕容尘轩 阅读(1036) 评论(0) 推荐(0)
摘要:1、今天群里有位朋友问我有没有关于调用http接口的kettle 示例,我下意识的去翻我的公众号推文,愣是没找到。果断开始撸。 2、本次演示流程通过调用接口【网易云音乐随机歌曲】,然后解析返回的数据,接口信息如下图所示: 3、本次演示流程通过调用接口【网易云音乐随机歌曲】,然后解析返回的数据,流程设 阅读全文
posted @ 2024-05-10 21:47 慕容尘轩 阅读(1784) 评论(0) 推荐(0)
摘要:问题场景: 一个朋友说他用kettle将生成好的多个文件(a.xls和b.xls,文件在data目录下)发送给客户,但是data目录下还有其他的文件,他如果指定data目录发送会把 data目录下面的所有文件都作为附件进行发送,显然不符合要求,所以他当时的临时解决方法是创建个临时目录,里面只放a.x 阅读全文
posted @ 2024-05-12 21:35 慕容尘轩 阅读(487) 评论(0) 推荐(0)
摘要:1、kettle原生是支持for循环处理的,无需通过javascript脚本或者java脚本开发for循环控制。当然如果想通过脚本挑战下也是可以的。 本节课主要讲解如何通过kettle中的job来实现for循环控制,如下图所示: 1)步骤【设置变量】设置单个job级别的变量。 2)步骤【转换】加载数 阅读全文
posted @ 2024-05-15 16:27 慕容尘轩 阅读(4591) 评论(0) 推荐(0)
摘要:kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。 一、shell脚本调用python脚本 1、下面是一段简单的无参python脚本 import os def main(): # 在这里编写Python脚本的主要逻辑 print("Hello, t 阅读全文
posted @ 2024-05-25 10:59 慕容尘轩 阅读(1289) 评论(0) 推荐(0)
摘要:1、群里有不定时会有同学反馈执行SQL脚本步骤使用有问题,那么咱们今天一起来学习下该步骤。trans中的执行SQL脚本有两方面功能,使用时需小心,不然很容易踩坑。 官方定义: 翻译: 您可以使用此步骤执行 SQL 脚本,可以选择在转换的初始化阶段执行一次,或者针对步骤接收的每一行输入执行一次。第二个 阅读全文
posted @ 2024-06-03 21:41 慕容尘轩 阅读(2399) 评论(0) 推荐(0)
摘要:本次课程的逻辑是同步t1表数据到t2表,t1和t2表的表机构相同,都有id,name,createtime三个字段。 CREATE TABLE `t1` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(10) CHARACTER SET u 阅读全文
posted @ 2024-06-04 21:59 慕容尘轩 阅读(2304) 评论(0) 推荐(0)
摘要:场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。 解决:使用步骤Blocking step进行阻塞处理即可。 1、下面的demo演示从表t1同步数据至表t2(t1表中有三条数据,t2为空表,两个表表结构相同),然后数据同步完 阅读全文
posted @ 2024-06-08 19:37 慕容尘轩 阅读(1012) 评论(3) 推荐(1)
摘要:场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。 解决:使用步骤Blocking step进行阻塞处理即可。 1、 如下流程图中利用Blocking step步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有当两个步 阅读全文
posted @ 2024-06-10 21:45 慕容尘轩 阅读(564) 评论(0) 推荐(0)
摘要:1、在做ETL数据抽取的时候,会用到生成随机数的功能,今天我们一起来学习下如何生成随机数据。如下图所示 2、将生成随机数拉倒画布即可,然后设置字段名称和选择合适的类型,如下图所示: 类型: 随机数字:生成一个介于 0 和 1 之间的随机数随机整数:生成一个随机的 32-bit整数随机字符串:基于 6 阅读全文
posted @ 2024-06-12 18:18 慕容尘轩 阅读(521) 评论(0) 推荐(0)
摘要:1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。 注:CDC (Change Data Capture) 是一种技术,用于捕获和同步数据库中的更改。 1)Debezium步 阅读全文
posted @ 2024-06-14 13:39 慕容尘轩 阅读(1603) 评论(1) 推荐(1)
摘要:场景:输入在指定的错误(错误应涵盖数据类型不匹配的情况)行数内,trans不报错,但通过错误处理步骤捕捉,并记入文件,整个数据管线正常完成直至处理完最后一个输入行。 解决方案:使用步骤【数据检验】进行处理。这个步骤和常规的业务系统对接三方接口一个逻辑,将符合规则的数据放行,不符合的记录。 数据准备( 阅读全文
posted @ 2024-06-15 22:43 慕容尘轩 阅读(1737) 评论(0) 推荐(2)
摘要:场景: kettle中http post步骤如何发送http请求且传递body参数? 解决方案: http post步骤中直接设置Request entity field字段即可。 1、手边没有现成的post接口,索性用python搭建一个简单的接口,关键代码如下(安装python环境略): fro 阅读全文
posted @ 2024-06-18 22:50 慕容尘轩 阅读(2751) 评论(0) 推荐(0)
摘要:场景:群里有个小伙伴在使用http post步骤调用接口时遇到问题,postman调用正常,但是kettle中调用异常。 解决方案:既然postman调用接口正常,肯定是http post步骤中某些参数设置的不正确导致的。那就把常用的方式都梳理下,搞定它。 1、http post请求参数放到body 阅读全文
posted @ 2024-06-21 10:00 慕容尘轩 阅读(1766) 评论(0) 推荐(0)
摘要:场景:kettle调用http接口获取数据(由于数据量比较大,鉴于网络和性能考虑,所以接口是个分页接口)。 方案:构造页码list,然后循环调用接口。 1、总体设计 1)、初始化分页参数pageNum=1,pageSize=20,这里的pageSize可以根据自己的需求自行调整,比如每次从接口取数1 阅读全文
posted @ 2024-06-22 20:43 慕容尘轩 阅读(2813) 评论(0) 推荐(0)
摘要:场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的) 解决方案:自定义插件或者自定义jar包通过javascript调用https接口。 1、http post 步骤调用https接口,无法通过ssl安全校验,如下图 阅读全文
posted @ 2024-07-02 21:38 慕容尘轩 阅读(930) 评论(0) 推荐(0)
摘要:在了解kettle血缘之前,咱们先来了解下什么是数据血缘? 1、数据血缘定义(来自gpt) 数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有助于理解数据的可靠性 阅读全文
posted @ 2024-07-15 10:27 慕容尘轩 阅读(670) 评论(1) 推荐(0)
摘要:1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。其实kettle连接hive和连接mysql数据库也是一样的。 1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。 2)设置hive连接参 阅读全文
posted @ 2024-07-17 10:39 慕容尘轩 阅读(668) 评论(0) 推荐(0)
摘要:场景:kettle调用存储过程,存储过程中通过select * from table 方式返回结果集,kettle接收结果集。 解决方案:1)借助临时表。2)表输入步骤。今天主要讲解表输入。 1、创建一个无参存储过程,脚本中通过select * from t1 返回数据集。脚本如下: use tes 阅读全文
posted @ 2024-07-17 20:36 慕容尘轩 阅读(1410) 评论(0) 推荐(0)
摘要:前些日子一个小伙伴私聊我咨询如何将数据库中的BLOB字段读取为文件。帮他顺利读取文件之后我在想kettle肯定支持将文件写入数据库BLOB字段。今天先来一起学习下 如何将文件以二进制流的方式写进数据库。 1、创建数据表,脚本如下: CREATE TABLE `file` ( `id` bigint 阅读全文
posted @ 2024-07-20 18:26 慕容尘轩 阅读(539) 评论(0) 推荐(0)
摘要:上一课我们讲解了如何将文件以二进制流的方式写入数据库,本节课我们一起学习下如何将二进制数据读取为文件。 1、将二进制流转换为文件这里主要用到了步骤【文本文件输出】。表输入步骤从表中读取blob字段,java代码定义二进制流转换为文件的全路径,文本文件输出步骤根据全路径和二进制流输出文件。如下图所示: 阅读全文
posted @ 2024-07-20 18:33 慕容尘轩 阅读(506) 评论(0) 推荐(0)
摘要:kettle将json字符串写入pg数据表中的json字段 阅读全文
posted @ 2024-07-26 22:02 慕容尘轩 阅读(613) 评论(0) 推荐(0)
摘要:1、上一节可讲解了如何将json数据写入pg数据库表中的json字段,虽然实现了效果,但若客户继续使用表输出步骤则仍然无法解决问题。 正确的的解决方式是设置数据库连接参数stringtype=unspecified 2、stringtype=unspecified 参数的作用: 当设置为 unspe 阅读全文
posted @ 2024-07-26 22:43 慕容尘轩 阅读(399) 评论(0) 推荐(0)
摘要:1、在使用步骤【阻塞数据直到步骤都完成】(英文为Block this step until steps finish)之前,我们先来了解下什么是 Copy Nr? Copy Nr是指 “副本编号” 或 “拷贝编号”,也就是下图中的复制的记录行数,图中的两个步骤复制的记录行数都是0,表示只有一个副本。 阅读全文
posted @ 2024-08-02 14:26 慕容尘轩 阅读(1725) 评论(0) 推荐(0)
摘要:场景:kettle调用python执行脚本,处理之后,再把结果数据流发给下一个步骤。 看到有个qq群里有个小伙伴求助要实现kettle调用python脚本,然后接收python脚本执行的结果,最后将结果传递到下一个步骤。之前的课程里面介绍的是kettle通过shell步骤调用python脚本,没有接 阅读全文
posted @ 2024-08-04 13:31 慕容尘轩 阅读(662) 评论(0) 推荐(0)
摘要:场景:解析xml文件或者内容解析出其中某些字段。 本来想着这个步骤使用起来比较简单,就没有梳理成文,结果群里的小伙伴为了使用这个步骤折腾了一下午。故有了此文。 在开始学习之前我们一起来学习下xml命名空间的相关知识,为下文展开做基础铺垫。 1、xml命名空间 XML 的命名空间(namespace) 阅读全文
posted @ 2024-08-05 20:32 慕容尘轩 阅读(731) 评论(0) 推荐(0)
摘要:场景:交流学习群里面有小伙伴咨询kettle中的javascript代码步骤如何调用外部js文件中的函数,觉得有点意思的,于是就抽时间整理了一下。 1、外部js文件为test.js,代码如下: function test(param){ return "接收到了参数"+param; } 2、当时没有 阅读全文
posted @ 2024-09-15 22:47 慕容尘轩 阅读(1148) 评论(0) 推荐(0)
摘要:1、在使用kettle调用接口的时候不可避免要调用http或者https接口,调用http接口kettle可以正常工作,但是遇到https接口的时候kettle就会提示证书有误,无法正常调用接口,今天咱们一起通过自研插件的方式来解决这个问题。自研插件需要有一定的java基础,git上有比较多的例子, 阅读全文
posted @ 2024-09-23 13:46 慕容尘轩 阅读(952) 评论(0) 推荐(0)
摘要:1、kettle本身文件上传功能不是很友好,甚至是不能直接使用,需要调整文件上传接口才可以正常接收到文件,本次讲解内容主要是通过自定义插件解决这个问题。 2、通过springboot 编写简单demo,模拟文件上传,接口支持三个参数unitCode、password、和文件dataFile。 jav 阅读全文
posted @ 2024-09-23 22:16 慕容尘轩 阅读(725) 评论(0) 推荐(0)
摘要:场景:时不时群里面会有小伙伴咨询使用kettle连接ms sqlserver 数据库,折腾很久浪费时间,今天刚好有时间把这一块梳理下,希望能让大家节省时间提高效率。 1、首先要知道连接sqlserver 有两种方式,JTDS jdbc驱动和微软的原装驱动,如下图所示: 兼容性: jTDS: jTDS 阅读全文
posted @ 2024-09-26 23:09 慕容尘轩 阅读(1783) 评论(0) 推荐(0)
摘要:场景:群里有小伙伴求助jms activemq如何使用kettle 进行消费数据,之前连接过kafka,rabbtimq,想着activemq应该也没啥难度,结果低估了activemq。盘他!!! 插曲:ActiveMq 有两个版本:ActiveMQ Classic和ActiveMQ Artemis 阅读全文
posted @ 2024-09-29 17:42 慕容尘轩 阅读(300) 评论(0) 推荐(0)
摘要:1、里程碑 很高兴的和可爱的小伙伴们一起宣布,我们的医疗特工队正式成立了。确切的说是ETL医疗高级陪伴群于2024-11-14日12时22分正式成立。 2、此群的前身 回忆过去我刚开始接触kettle时资料甚少,遇到问题啃英文官方文档,遇到不懂的英文靠Ai翻译,慢慢的能够驾驭kettle,能够很顺利 阅读全文
posted @ 2024-11-15 08:38 慕容尘轩 阅读(563) 评论(0) 推荐(0)
摘要:1、为啥收取1元? 确保只有真正感兴趣或有意愿的用户才会加入。减少无关人员的加入,保持群组的专业性和活跃度。 付费入群可以减少垃圾信息的发送,因为发垃圾信息的人不太可能愿意为发送广告付费。 2、送人玫瑰手留余香 自从公众号连载了90+篇关于kettle的干活文章,不到半年时间和1500+好友结伴前行 阅读全文
posted @ 2024-11-19 17:56 慕容尘轩 阅读(348) 评论(0) 推荐(0)
摘要:想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。由于群内人员较多无法直接扫描进入,公众号后台加我微信入群,备注kettle/hop。 1、群里经常有小伙伴询问kettle安装包或者私下找我要,今天群里的三倍镜大佬分享了一个kettle全家桶版本,今天我整理下分享给大家。 2 阅读全文
posted @ 2025-01-10 13:12 慕容尘轩 阅读(2187) 评论(0) 推荐(0)
摘要:场景:使用kettle实现将查询结果返回给客户端,也就是说kettle暴露查询接口供外围系统调用。前提必须是使用carte服务才可以提供接口供外部系统调用。具体实操方法如下: 1、设计转换 根据具体需求设计转换,主要用到的步骤有获取变量(从请求参数中获取变量)、json输入(解析入参),json 输 阅读全文
posted @ 2025-02-17 21:44 慕容尘轩 阅读(841) 评论(0) 推荐(0)
摘要:最近两天感冒了,而且莫名其妙的嗓子哑了好几天,心情很是不爽。周末两天啥也不想干,坐在电脑旁边继续手撕kettle调度系统。 1、其实之前有整理过kettle的调度方法,有很多种,根据自己的需求合理选择其中的一种,如下图所示: 2、kettlePack 应该是深度集成kettle,将kettle的核心 阅读全文
posted @ 2025-02-24 18:04 慕容尘轩 阅读(856) 评论(0) 推荐(0)
摘要:平常我们在使用kettle抽取数据的时候会涉及到敏感数据邀请脱敏或者进行掩码的需求,今天我们使用自定义函数插件来实现这些需求。 1、将自定义函数插件(kettle-func-plugin.zip)解压后放到kettle的plugins目录下面,然后重启服务。 2、启动spoon客户端,转换文件夹下找 阅读全文
posted @ 2025-03-01 21:52 慕容尘轩 阅读(293) 评论(0) 推荐(0)
摘要:场景:大家都知道我们平时使用spoon客户端的时候时无法直接使用git的,给我们团队协作带来了一些小问题,需要我们本机单独安装git客户端进行手动上传trans或者job。 我们团队成员倪老师开发了一款kettle的git插件,帮我们解决了这个大难题,大大方便了我们团队协作,今天一起来揭开这款插件的 阅读全文
posted @ 2025-03-03 21:36 慕容尘轩 阅读(193) 评论(0) 推荐(0)
摘要:场景:假如T日需要将a表中T-1日的数据同步到b表。由于某种业务需求a表中已经同步到b表中的数据发生了变化需要重新同步,这个时候就会用到插入更新插件,也就是 说a表中数据重新同步b表,若b表中存在此数据(根据唯一id)则执行更新操作,否则执行插入操作。 1、软硬件环境 本次教程基于本机docker版 阅读全文
posted @ 2025-03-05 21:03 慕容尘轩 阅读(522) 评论(1) 推荐(1)
摘要:今天群里来了一位台湾同胞,没想到台湾同胞用的是繁体字,群里的小伙伴不淡定了,表示有些字看不懂。看不懂没关系,今天介绍的插件帮你解决这个问题。安排!!! 1、老规矩 将插件kettle-plugin-pinyin放到kettle的plugins目录下,重启spoon客户端。 2、开始编写转换demo, 阅读全文
posted @ 2025-03-23 10:58 慕容尘轩 阅读(102) 评论(0) 推荐(0)
摘要:场景:kettle本身可以直接链接rabbitmq,但是需要配置rabbitmq开启mqtt协议,本次讲解下自定义开发组件RabbitMQ consumer,无需开启mqtt协议即可使用。 1、docker 安装rabbitmq 1)下载镜像 docker pull rabbitmq 2)启动服务 阅读全文
posted @ 2025-03-23 11:02 慕容尘轩 阅读(245) 评论(0) 推荐(0)
摘要:在国家大力倡导原创技术、推动信息技术应用创新(信创)的政策背景下,摆脱对国外技术的依赖、构建自主可控的信息技术体系成为重要发展方向。大数据作为信息技术的重要组成部分,国产大数据技术和产品迎来了前所未有的发展机遇。 信创旨在实现核心技术自主可控,保障国家信息安全,因此国产数据库、数据处理工具等大数据相 阅读全文
posted @ 2025-03-23 11:05 慕容尘轩 阅读(563) 评论(0) 推荐(0)
摘要:Kettle(Pentaho Data Integration)作为一款功能强大的开源 ETL(Extract, Transform, Load,即数据抽取、转换和加载)工具,拥有众多版本,这让许多用户在选择时犯了难。 1、提出问题 经常有群友提出使用kettle版本的问题,如下图所示: 2、ket 阅读全文
posted @ 2025-03-23 20:39 慕容尘轩 阅读(1042) 评论(1) 推荐(0)
摘要:场景:群里有小伙伴反馈kettle 7.x版本不能自动连接mysql8,安排!!! 1、将mysql8的驱动包mysql-connector-java-8.0.20.jar丢到kettle的lib目录下,重启spoon。 2、配置数据库连接,提示驱动类不对,没有正确使用我们的mysql8的驱动。如下 阅读全文
posted @ 2025-03-26 21:52 慕容尘轩 阅读(433) 评论(0) 推荐(0)
摘要:场景:群里有小伙伴向我求助如何调用web service接口,趁着周末时间,给兄弟们搞demo。 1、本次使用的web service服务接口地址是http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?op=getSupportCityDataset, 阅读全文
posted @ 2025-03-29 21:46 慕容尘轩 阅读(983) 评论(0) 推荐(0)
摘要:1、在使用kettle时如果对表输出性能要求,可以考虑用mysql 批量加载步骤,该步骤可以实现每秒5万+的数据同步(该数据仅是基于我本人的笔记本,若是服务器则效率更高),如下图所示: 2、原理 知其然知其所以然,之所以MySQL Bulk Loader速度如此之快是因为MySQL 批量加载器使用“ 阅读全文
posted @ 2025-04-01 21:57 慕容尘轩 阅读(393) 评论(0) 推荐(0)
摘要:场景: 有小伙伴私聊我咨询使用kettle获取企业微信打卡数据,最近工作比较忙,只能趁着晚上的时候给小伙伴解决问题,不过通过kettle获取企业微信打卡记录还是有一定难度的, 有难度才有挑战,盘它! 1、了解企业微信接口 所谓知己知彼,百战不殆。看了下企业微信的接口大概分为两类: 1)通过corpI 阅读全文
posted @ 2025-05-01 22:54 慕容尘轩 阅读(219) 评论(0) 推荐(0)
摘要:场景: 群里有小伙伴咨询kettle从Elasticsearch中抽取数据,群里老师们纷纷响应,vip小伙伴是不是有中受宠若惊的感觉。 今天我们使用kettle通过es的原生rest接口来进行操作es,开整。 前提:本篇文章基于elasticsearch:7.17.9版本进行测试,在 Elastic 阅读全文
posted @ 2025-05-07 22:22 慕容尘轩 阅读(364) 评论(0) 推荐(0)
摘要:今天是清明节,放假第一天也不得清闲。上午整理公司的交付文档,中午陪孩子户外骑行踏青,下午趁着休息的时间给老铁们讲下如何使用postgressql cdc插件来实时捕获数据。 注:CDC (Change Data Capture) 是一种技术,用于实时捕获和同步数据库中的更改。 1、基于docker搭 阅读全文
posted @ 2025-05-07 22:27 慕容尘轩 阅读(298) 评论(0) 推荐(0)
摘要:场景:今天vip小伙伴群里发问题:自己的kettle 7.1版本无法支持数据同步到ClickHouse数据库,群里两位老师也是及时给予指导,换高点的版本或者使用我们自行研发的插件。 总之问题在vip群里会被秒杀,哈哈哈。废话少说,开始盘它。 1、拉取clickhouse镜像 docker pull 阅读全文
posted @ 2025-05-07 22:27 慕容尘轩 阅读(563) 评论(1) 推荐(0)
摘要:场景:我们在写java代码或者其他程序的时候debug是家常便饭,如果不会排错不会debug,那么你就需要继续努力了。今天咱们来介绍下kettle的如何debug。 1、添加插件 老规矩,我们将插件kettle-debug-plugin放到kettle的plugins目录下面,然后重启spoon。 阅读全文
posted @ 2025-05-07 22:28 慕容尘轩 阅读(203) 评论(0) 推荐(0)
摘要:场景: 最近VIP群里面有小伙伴在使用apache doris遇到了一些问题,使用原生表输出步骤写doris数据库速度非常慢,体验非常不好。 我们团队老师里面将doris批量加载插件丢到群里面火速支援小伙伴,但是依然有小伙伴之前没接触过doris,使用插件时可能不太顺利。今天抽时间将此插件梳理下供小 阅读全文
posted @ 2025-05-07 22:29 慕容尘轩 阅读(1488) 评论(0) 推荐(0)
摘要:1、下载DolphinScheduler DolphinScheduler官网下载安装包,选择合适的版本进行下载,地址为 https://dolphinscheduler.apache.org/zh-cn/docs/3.1.9/guide/installation/standalone 2、启动 D 阅读全文
posted @ 2025-07-12 21:46 慕容尘轩 阅读(520) 评论(0) 推荐(0)
摘要:1、老铁们,前面文章写了好多我们团队老师自研的插件。这些插件帮助很多小伙伴提升了数据传输性能。 打个广告,我们团队自研的插件vip用户免费使用,且提供bug修复等。 今天给大家介绍一款团队小伙伴自研的mssql server 批量加载插件,原生的kettle中不包含此步骤,使用mssql serve 阅读全文
posted @ 2025-07-12 21:47 慕容尘轩 阅读(132) 评论(0) 推荐(0)
摘要:场景:接触kettle有一段时间了,kettle资源仓库的各种方式也都体验了一下,各自有自己的优缺点吧,今天有时间一起梳理下,互相探讨下。 1、文件仓库 文件仓库的意思kettle中设计的trans和job脚本文件放到本地文件,这种方式读取和保存速度相当快,适合单人作战模式。 1) 打开spoon客 阅读全文
posted @ 2025-07-13 16:44 慕容尘轩 阅读(332) 评论(0) 推荐(0)
摘要:之前有写过kettle从redis中读取数据的demo,今天咱们一起学习下kettle读取redis中的hash数据。 Redis 中的 Hash 是一个键值对的集合,也可以理解为一个字典,其中每个键(在 Hash 里通常称为字段 field)对应一个值。一个 Redis 的 Hash 可以包含多个 阅读全文
posted @ 2025-07-14 10:30 慕容尘轩 阅读(96) 评论(0) 推荐(0)
摘要:之前我们一起学习过xxl-job调度carte,采用的xxl-job执行器方式,不了解的可以查看《kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans 》 今天我们一起来学习下使用xxl-job直接使用http调用car 阅读全文
posted @ 2025-07-14 10:29 慕容尘轩 阅读(445) 评论(0) 推荐(0)
摘要:场景: 群里有小伙伴寻求帮助,需要使用kettle来读取ActiveMQ Classic中的数据,有使用过ActiveMQ的小伙伴知道kettle中自带的jms步骤只能读取ActiveMQ Artemis中的数据, 有难度才有挑战,经过几个晚上的调试终于搞定了,今天来梳理下教程,金老师,上demo。 阅读全文
posted @ 2025-07-18 13:42 慕容尘轩 阅读(105) 评论(0) 推荐(0)
摘要:场景: 有个小伙伴微信私我咨询是否可以针对kettle定制python插件,确切的说是python3插件。我们团队老师沟通后一致认为kettle的python插件还是很具有挑战性的。 虽然kettle的python插件比较有挑战,但是我相信最终肯定要搞定这款插件。之前的课程中有讲过kettle调用p 阅读全文
posted @ 2025-08-09 22:33 慕容尘轩 阅读(299) 评论(0) 推荐(0)
摘要:今天我们一起来学习一款团队自研的数据挖掘插件arff-output,首先先介绍下arff文件的相关知识。 1、什么是ARFF ARFF(Attribute-Relation File Format)文件是一种专门用于数据挖掘工具Weka的数据格式。 ARFF文件主要由两部分组成:头部(Header) 阅读全文
posted @ 2025-07-24 13:58 慕容尘轩 阅读(49) 评论(0) 推荐(0)
摘要:场景:小伙伴在使用kettle调用https接口过程中无法正常调用,程序出错问题,今天演示下用自研插件轻松解决这个问题。 1、使用openssl 生成自签名证书 openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.p 阅读全文
posted @ 2025-07-31 22:25 慕容尘轩 阅读(540) 评论(0) 推荐(0)
摘要:场景:小伙伴在使用kettle调用https post接口过程中无法正常调用,程序出错问题,今天演示下用自研插件轻松解决这个问题。 1、使用openssl 生成自签名证书 openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout 阅读全文
posted @ 2025-08-05 11:42 慕容尘轩 阅读(293) 评论(0) 推荐(0)
摘要:场景:周二下班刚下地铁的时候有一位大佬,咨询kettle是否可以适配MinIO,功能要实现将图片或者base64通过kettle直接上传到MinIO服务器。 接到需求,沟通需求,开干。经过3天左右研发和调试MinIO插件已经成功交付,对方经常部署到生产环境。 1、本地搭建MinIO服务器 拉取 qu 阅读全文
posted @ 2025-08-09 22:33 慕容尘轩 阅读(180) 评论(0) 推荐(0)
摘要:场景:一个朋友遇到调用公卫https接口时提示未上传证书问题寻求我们的帮助,本来想着有现有的插件可以吊打这个问题,谁知道瞬间啪啪打脸。 接下来咱们一起探个究竟。 1、经验主义 看到此问题,第一时间想到的是我们的http post plus插件,该插件可以忽略ssl校验,应该可以轻松解决这个https 阅读全文
posted @ 2025-08-13 10:05 慕容尘轩 阅读(100) 评论(0) 推荐(0)
摘要:场景:这款kettle的python插件从开始研究设计到客户生产使用,整个过程可以说非常不容易。 2025年7月17日23电25分文老师突然微信滴滴我询问是否可以做python插件,我当时也没有想到实现python插件的难度就直接答应下来,谁知做起来是相当于不容易,由于 团队老师是边工作边研究,整个 阅读全文
posted @ 2025-08-22 22:03 慕容尘轩 阅读(229) 评论(0) 推荐(0)
摘要:场景: 前面咱们介绍了kettle的MinIO插件,现阶段国内各大公司都在搞新创,支持国产,在这里RustFS,就是MinIO国产信创平替方案,so 我们今天一起来学习下kettle的rustFs插件。 1、本地搭建RustFs服务器 拉取 rustfs/rustfs:latest镜像 docker 阅读全文
posted @ 2025-08-23 14:52 慕容尘轩 阅读(329) 评论(2) 推荐(0)
摘要:场景: 周四的时候群里一个小伙伴发出求助信息,大概意思是要从Cache(业内医疗同仁都知道东华的医疗系统有使用Cache数据库)单表中抽取数据到sqlserver数据库,该表数据量为6000万+,在使用kettle抽取的过程中总是遇到内存溢出的问题。 群友提供帮助信息:1、增大内存。2、分批处理。不 阅读全文
posted @ 2025-08-24 20:51 慕容尘轩 阅读(243) 评论(0) 推荐(0)
摘要:自我介绍: 大家好!我是Java小金刚,在互联网金融行业打拼了10年的老兵。如果你对Java编程、互联网金融、大数据以及软件开发领域感兴趣,那么快来关注我公众号【Java小金刚】,让我带你领略最新最炙手可热的技术动态和经验分享。 场景: 群里时不时会有小伙伴询问Oracle cdc的相关问题,我本人 阅读全文
posted @ 2025-09-03 19:56 慕容尘轩 阅读(245) 评论(0) 推荐(0)
摘要:场景:在一个kettle交流群内,有一个小伙伴求助:大致意思是json input的输入参数的key中存在点号,凡是带点号的key都无法正确获取。 今天一起来分析下使用多种方式来解决这个问题,希望后续有人遇到此类问题时可以秒杀它,而不是花费N根头发!!! 1、json数据构造 { "id": "1" 阅读全文
posted @ 2025-09-14 22:04 慕容尘轩 阅读(327) 评论(0) 推荐(0)
摘要:前面我们已经介绍了很多kettle插件,每个kettle插件都它的使用场景,我们在做数据同步ETL的过程中,势必要处理一些脏数据,把数据质量提高。今天我们一起来学习这这款数据清洗插件。 1、转换设计 1)生成记录 模拟数据输入 2)数据清洗 选择具体的数据清洗规则对数据进行清洗 3)写日志 输出清洗 阅读全文
posted @ 2025-09-20 15:29 慕容尘轩 阅读(316) 评论(0) 推荐(0)
摘要:场景:最近vip群小伙伴在国产麒麟系统安装kettle时遇到无法正常启动的问题,今天周末远程连麦小伙伴一起解决此问题,梳理成章,方便后续小伙伴。 1、报错信息 国产麒麟系统安装kettle时遇到无法正常启动,提示错误信息为I'm sorry, this Linux platform aarch64 阅读全文
posted @ 2025-09-20 15:50 慕容尘轩 阅读(428) 评论(0) 推荐(0)
摘要:场景:国产数据库(金仓,达梦,瀚高,海量等)信创环境下最近发展的势头很猛,今天我们一起来学习下人大金仓(电科金仓)数据库,从金仓数据库中读取数据以及使用金仓数据库作为kettle的资源仓库,废话少数,开干。 1、使用docker安装金仓数据库。 官网下载docker镜像文件,使用docker loa 阅读全文
posted @ 2025-09-25 13:13 慕容尘轩 阅读(397) 评论(0) 推荐(0)
摘要:自我介绍: 大家好!我是Java小金刚,在互联网金融行业打拼了10年的老兵。如果你对Java编程、互联网金融、大数据以及软件开发领域感兴趣,那么快来关注我公众号【Java小金刚】,让我带你领略最新最炙手可热的技术动态和经验分享。 场景:kettle原生的javascript插件使用起来比较顺手,不过 阅读全文
posted @ 2025-09-29 22:37 慕容尘轩 阅读(83) 评论(0) 推荐(0)
摘要:1、确保本机已经安装过docker,没有安装的自行安装。 2、下载达梦镜像安装包,本次教程使用镜像为dm8_20250206_x86_rh6_64_rq_ent_8.1.4.48.tar。 3、导入镜像安装包 语法如下: docker load -i <安装包> 4、部署单机容器,如下图所示: 部署 阅读全文
posted @ 2025-09-30 22:35 慕容尘轩 阅读(1318) 评论(0) 推荐(0)
摘要:场景:国产数据库(瀚高,金仓,达梦,海量等)信创环境下最近发展的势头很猛,今天我们一起来学习下瀚高数据库,从瀚高数据库中读取数据以及使用瀚高数据库作为kettle的资源仓库,废话少数,开干。 1、使用docker安装瀚高数据库。 和瀚高官网客服沟通后获取试用docker镜像文件,使用docker l 阅读全文
posted @ 2025-10-09 21:29 慕容尘轩 阅读(331) 评论(0) 推荐(0)
摘要:场景: 上周四一位小伙伴发出求助,周末有时间一起看下如何解决此问题,信息如下: 用 pdi(kettle)9.2 和 9.4 连接达梦资源库,达梦数据库信息和资源库登录的账密信息一模一样 但是 9.2 可以登录,9.4 一直就是登录不上。 1、安装dm8数据库 我这里提前使用docker安装了dm8 阅读全文
posted @ 2025-10-12 22:56 慕容尘轩 阅读(301) 评论(0) 推荐(0)
摘要:场景:kettle专业3群有小伙伴咨询kettle docker镜像部署的事情,今天项目上线后回家么事,一起来盘这个问题。 此docker镜像,我会放到专业群的共享连接里面,有需要的可以自取。 1、编写Dockerfile 编写Dockerfile,可以借助AI工具来生成,大致逻辑如下: 1)基于c 阅读全文
posted @ 2025-10-28 20:33 慕容尘轩 阅读(235) 评论(0) 推荐(0)
摘要:这款调度产品,早在N年前已经横扫江湖,后来隐退于kettler人间,不少大佬已经在生产环境使用这款产品,今天将重出江湖,造福kettler,咱们正式叫它【kettle金刚调度系统】,江湖名xxkg-pdi。废话少说,亮剑!!! 本款调度产品支持kettle core嵌入集成,spoon命令行,car 阅读全文
posted @ 2025-10-29 14:14 慕容尘轩 阅读(259) 评论(0) 推荐(0)
摘要:场景: 昨天发布了xxkg-pdi 金刚调度系统,kettler小伙伴们火速使用了起来,有不少小伙伴催我操作教程,今天下班回家饭都没来的吃,开始搞教程。今天咱们一起学习xxkg-pdi 调度系统如何使用spoon方式进行调度,这里说的spoon方式调度,也就是说利用kettle自带的pan和kitc 阅读全文
posted @ 2025-11-03 22:58 慕容尘轩 阅读(502) 评论(0) 推荐(0)
摘要:大家好,经常有小伙伴私信我咨询webspoon的部署问题,今天周末抽点时间一起梳理学习下。 1、docker方式部署 1)docker方式部署可以参考我之前的文章【kettle从入门到精通 第四十八课 ETL之kettle webspoon】 2)有时候因为网络原因有可能无法下载镜像,我这里为大家整 阅读全文
posted @ 2025-11-09 20:30 慕容尘轩 阅读(564) 评论(0) 推荐(0)
摘要:1、启动服务 启动命令 java -jar etl_scheduler_platform-1.0.x.jar 2、浏览器访问 http://127.0.0.1:32007 ,输入用户名和密码 admin/admin 登录 3、准备centos7服务 准备一台centos服务器,并且服务器提前安装好了 阅读全文
posted @ 2025-11-17 10:05 慕容尘轩 阅读(292) 评论(0) 推荐(0)
摘要:1、资源库创建 1)这里我使用文件资源库进行演示。点击新增按钮添加文件资源库。 2)文件资源库列表 文件上传:可以将脚本打包为zip文件进行上传。 文件下载:可以将脚本文件打包进行下载。 2、xkg-pdi服务器脚本维护 1)作业管理-》作业转换,可以单个或者批量上传脚本。 2)具体作业或者转换上右 阅读全文
posted @ 2025-12-02 20:57 慕容尘轩 阅读(113) 评论(0) 推荐(0)
摘要:上篇文件介绍了webspoon的两种部署方式,有小伙伴私我咨询webspoon的详细部署方式,今天咱们一起来学习下,本篇文章基于webspoon7 来进行讲解。 涉及的问题一共有webspoon汉化、KETTLE_HOME、kettle日志挂载、数据库驱动挂载、kettle插件挂载、kettle文件 阅读全文
posted @ 2025-12-02 20:58 慕容尘轩 阅读(184) 评论(0) 推荐(1)
摘要:作为一个公司的数据服务平台,经常会有外部系统提取数据的需求,比如CRM系统需要调用接口获取客户信息等,使用我们的XKG-PDI系统,可以轻松解决此类问题。 1、kettle设置转换 1)表输入,根据外部系统http请求传递的参数从test表中提取数据 2)字段选择,使用字段选择步骤只提取需要的字段返 阅读全文
posted @ 2025-12-11 16:09 慕容尘轩 阅读(119) 评论(0) 推荐(0)
摘要:场景:在使用kettle的过程中,很多人都会遇到团队协作的问题。如何管理脚本?团队如何协作?如何发布测试或者生产环境。今天一起学习下xkg-pdi如何解决这些问题的。 1、设计脚本 1)打开spoon客户端(本次使用的是kettle9.4) 2)创建数据库资源仓库 具体如何创建数据库资源仓库可以参考 阅读全文
posted @ 2025-12-17 22:14 慕容尘轩 阅读(139) 评论(0) 推荐(0)
摘要:1、今天使用kettle创建数据库资源库的时候出问题了,数据库使用的是mysql8.4.6,提示数据库保留字问题创建资源库失败。 mysql8.4 数据库资源库创建失败的主要原因是关键字PARALLEL问题,错误信息如下: 2、使用mysql8.0或者8.2作为资源库 1)使用spoon客户端创建数 阅读全文
posted @ 2025-12-23 21:07 慕容尘轩 阅读(127) 评论(0) 推荐(0)
摘要:场景: 我们在使用kettle的过程中,可以针对每个脚本文件进行异常捕获和发送邮件,也可以使用xkg-pdi平台统计进行异常捕获。今天我们一起来学习下如何使用xkg-pdi来捕获异常并且发送邮件进行预警。 1、配置邮箱 我这里演示的是基于126邮箱进行测试的,其他邮箱也类似。 1)开启邮箱的smtp 阅读全文
posted @ 2025-12-25 21:59 慕容尘轩 阅读(92) 评论(0) 推荐(0)
摘要:场景:使用kettle将多条数据合并为一条数据或者将多行转一行。比如有下面三条数据: 姓名 年龄 职称 金老师 36 资深架构师 倪老师26 研发架构 马老师 28 数据专家 要求将上述三条数据转换为一条数据,如: 金刚团队老师分别为金老师, 倪老师, 马老师;年龄分别为36, 26, 28;职称分 阅读全文
posted @ 2026-01-04 21:37 慕容尘轩 阅读(153) 评论(0) 推荐(0)
摘要:场景:昨天本地测试全局异常捕获的时候没有获取到详细日志,今天公众号后台有位热心网友提供了方案,并且亲测可行,晚上下班后一起梳理成长,将大爱持续传递。 方案是: 官方文档解释这个邮件的目的是“用于作业失败或成功时,通知作业成功或者失败”,所以邮件正文只会显示成功或者失败。这个步骤可以在作业中的任何位置 阅读全文
posted @ 2026-01-13 21:37 慕容尘轩 阅读(164) 评论(0) 推荐(0)
摘要:前言: XKG:是金刚团队自研的kettle调度系统,可以非常灵活的调度kettle的trans和job。 webspoon9.4:是金刚团队自研的webkettle/webspoon,团队成员可以很方便的在线设计trans和job,解决团队协助问题。 1、XKG系统创建资源库 1)新建文件资源库 阅读全文
posted @ 2026-01-28 22:33 慕容尘轩 阅读(118) 评论(0) 推荐(0)
摘要:场景:周五的时候一个小伙伴加我v请教kettle分页问题,当时想的这个问题很简单,直接丢个demo不就完事了嘛,结果搞了3个晚上才搞定,今天来复盘下踩过的坑。 1、先解决报错问题 首先我处理问题的方式一般是腾讯会议连麦线上排雷。对方的第一个问题是脚本中定义了两个字段,一个是page 默认值是0,另外 阅读全文
posted @ 2026-01-28 23:04 慕容尘轩 阅读(65) 评论(0) 推荐(0)
摘要:场景:有小伙伴私聊我咨询,使用kettle调用his相关接口时,入参和响应数据均为xml结构报文,无法掉通接口。今天咱们一起来梳理下如何解决这种问题。 1、添加jar文件 1)将staxon-1.3.jar、hutool-all-5.6.0.jar、xiaojingang-https-0.0.1-S 阅读全文
posted @ 2026-02-12 21:54 慕容尘轩 阅读(58) 评论(0) 推荐(0)
摘要:场景: 上周群里探讨了kettle的job依赖问题(kettle DAG),可谓是热闹非凡,今天抽时间一起整理和探讨下。比如有三个job,分别是jobA1、jobA2、jobB,要实现jobA1和jobA2并行执行,然后等jobA1和jobA2执行结束之后在执行jobB。废话少说,开干。 1、 方案 阅读全文
posted @ 2026-03-11 21:52 慕容尘轩 阅读(110) 评论(0) 推荐(0)
摘要:场景: 前些日子有位博客园朋友留言,内容如下: 【你好 我遇到一个问题 在网上找了很多资料也无果刚接手kettle 有一个业务是读取excel然后写入表中但是excel表头会经常变动 导致程序运行失败 excel已经做了字段定义但是模板变动后读取的数据 就对应不上字段如定义字段name 姓名age 阅读全文
posted @ 2026-03-26 20:58 慕容尘轩 阅读(105) 评论(0) 推荐(0)
摘要:上篇文章使用java步骤实现了根据excel表头名称读取数据,虽然实现了功能,但是使用起来依然不是特别友好,抽时间把代码抽离搞成了excel 插件,接下来咱们一起看下如何使用这款插件。 1、安装插件 将插件安装包kettle-excell-plus-plugin-1.0.1.zip放到kettle的 阅读全文
posted @ 2026-04-29 21:53 慕容尘轩 阅读(71) 评论(1) 推荐(0)
摘要:XKG-PDI闭关许久,终于迎来了功能、性能的全新升级,进行介绍的重点是XKG-PDI集成了自演的webkettle平台,使用起来高效,协同、丝滑。废话少说,上教程。 1、创建工作空间 1)新增工作空间 操作路径:系统管理-工作空间管理 空间名称:自定义 空间编码:自定义 空间负责人:可以指定系统内 阅读全文
posted @ 2026-08-24 09:24 慕容尘轩 阅读(2) 评论(0) 推荐(0)