kettle
文章平均质量分 56
zhangjin1222
这个作者很懒,什么都没留下…
展开
-
kettle从入门到精通 第七十九课 ETL之kettle kettle读取数据库BLOB字段转换为文件
表输入步骤从表中读取blob字段,java代码定义二进制流转换为文件的全路径,文本文件输出步骤根据全路径和二进制流输出文件。5、格式和压缩按照下图进行设置,是否勾选头部选项,要看zip压缩包压缩的时候是否有头部信息。4、文本文件输出设置,这里的文件名字段选择javascript步骤中设置的target_file_path字段。上一课我们讲解了如何将文件以二进制流的方式写入数据库,本节课我们一起学习下如何将二进制数据读取为文件。6、字段设置,选择file_content字段,类型一定要选择Binary。原创 2024-07-20 18:29:34 · 506 阅读 · 0 评论 -
kettle从入门到精通 第七十八课 ETL之kettle kettle将文件写入数据库BLOB字段
kettle将文件以二进制流(BLOB)的方式写进数据库。原创 2024-07-20 18:25:17 · 284 阅读 · 0 评论 -
kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集
场景:kettle调用存储过程,存储过程中通过select * from table 方式返回结果集,kettle接收结果集。2、创建一个只有入参的存储过程,脚本中通过select * from t1 where id=pId;表输入步骤sql填写call sp_without_param2("1"),保存&点击运行按钮,数据集正常打印。使用表输入步骤单独获取out参数,sql为select @outputParam;1、创建一个无参存储过程,脚本中通过select * from t1 返回数据集。原创 2024-07-17 20:40:14 · 328 阅读 · 0 评论 -
kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程
1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。6、删除kyuubi-hive-jdbc-shaded-1.9.0.jar,重新运行,出现找不到驱动jar错误,如下图所示。2、下载kyuubi-hive-jdbc-shaded-1.9.0.jar,放到lib目录下面,3、设置hive连接参数,我这里只设置了ip地址、数据库名称、端口信息。原创 2024-07-17 10:41:39 · 471 阅读 · 0 评论 -
kettle从入门到精通 第七五课 ETL之kettle血缘,数据血缘
数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。数据血缘可以用于查看表和表、字段和字段之间的血缘关系,从而辅助业务进行数据的溯源和管理,在作业异常时也可以帮助业务分析上下游作业影响。2)数据血缘分为表级别血缘和字段级别血缘,一般情况下做到表级别血缘就可以了。1)数据血缘基于数据流动,基于etl,假如没有中场景,也就不需要数据血缘。1、数据血缘定义(来自gpt)原创 2024-07-15 10:29:59 · 419 阅读 · 0 评论 -
kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验
场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的)解决方案:自定义插件或者自定义jar包通过javascript调用https接口。//这里注意参数body如果是json字符串的话,这里自动转换为对象了,1)将自定义jar放到lib目录下。//索引这里要重新转换为字符串。原创 2024-07-02 21:43:16 · 526 阅读 · 0 评论 -
kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程
1) 这一步很重要,将单条数据变成list,如上一步的totalNum为3,这里会输出[{"paggNum":"2","pageSize":"20"},{"paggNum":"3","pageSize":"20"}]会循环上一步的结果[{"paggNum":"2","pageSize":"20"},{"paggNum":"3","pageSize":"20"}]2)这里的模拟http请求使用的是写日志步骤,具体场景中使用的是http post步骤。4)、循环页码list,单条数据请求http接口。原创 2024-06-22 21:15:00 · 641 阅读 · 0 评论 -
kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传递
4) 查看kettle 源码得知:Java 客户端发送文件时,使用的是直接将文件内容作为请求体的形式,而不是通过标准的文件上传方式,所以request.files 接收不到。2、http post请求参数放到form中,类似于html中的表单提交,Content-Type是application/x-www-form-urlencoded。那就把常用的方式都梳理下,搞定它。3、http post请求参数放到url中,这种方式不常见一般是get请求参数放到url中,Content-Type不限。原创 2024-06-21 09:59:40 · 842 阅读 · 0 评论 -
kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数
3、http post参数设置,这了填写URL、Request entity field,其他默认。1)从日志可以很清楚的看到接口http://127.0.0.1:5000/api/data的Content-type设置不对。4、定位问题之后,我们把Content-type设置为Application/json,进行再次验证,接口调用成功。2)以行级日志模式进行运行,可以看到默认的Content-type为text/xml;这里的body名称可以自定义,不是只能使用body关键字哦。原创 2024-06-18 22:53:09 · 664 阅读 · 0 评论 -
kettle从入门到精通 第七十课 ETL之kettle kettle数据校验,脏数据清洗轻松拿捏
输入在指定的错误(错误应涵盖数据类型不匹配的情况)行数内,trans不报错,但通过错误处理步骤捕捉,并记入文件,整个数据管线正常完成直至处理完最后一个输入行。3、类型校验,也就说如果上游传递过来的类型是integer类型,但是你需要的是String类型,这个时候可以进行类型校验规则拦截,如下图所示。"name": "Java小金刚1","name": "Java小金刚2","name": "Java小金刚3","name": "Java小金刚4","name": "Java小金刚5",原创 2024-06-15 22:46:02 · 423 阅读 · 0 评论 -
kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现增量同步
1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。5、Debezium步骤配置中设置ddl为true(输出dml和ddl),更多属性配置参考Debezium官网。2、Debezium步骤配置如下(只输出dml),更多属性配置参考Debezium官网。4)create、delete、update、ddl是写日志步骤,模拟后续操作。3、switch-case配置如下,不做过多介绍。原创 2024-06-14 13:36:28 · 311 阅读 · 1 评论 -
kettle从入门到精通 第六十八课 ETL之kettle kettle随机数生成的一些方案
4、通过java脚本进行生成,如调用 java.util.UUID.randomUUID().toString(),这里不做过多介绍。1、在做ETL数据抽取的时候,会用到生成随机数的功能,今天我们一起来学习下如何生成随机数据。随机字符串:基于 64-bit 长随机值生成一个随机字符串。随机数字:生成一个介于 0 和 1 之间的随机数。UUID4:通用唯一标识符类型 4(UUID4)随机整数:生成一个随机的 32-bit整数。UUID:通用唯一标识符(UUID)随机消息认证码(HmacSHA1)原创 2024-06-12 18:19:53 · 368 阅读 · 0 评论 -
kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤
1、 如下流程图中利用Blocking step步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有当两个步骤都执行完毕之后数据才会通过Blocking step.2、上边的案例是采用Round-Robin轮询调度,下面我们调整数据发送为数据复制方式,该方式可以将当前数据的数据复制两份,每份的数据都是一样的。注意:这里的最后一行数据不是表输入步骤中的最后一行数据,而是通过模拟表输出1和模拟表输出2两个步骤中的最后一条数据。2)当前数据步骤为写日志步骤,打印数据读取记录。原创 2024-06-10 21:41:24 · 257 阅读 · 0 评论 -
kettle从入门到精通 第六十五课 ETL之kettle 执行动态SQL语句,轻松实现全量&增量数据同步
2、查询目标表t2中的表记录总条数,若总条数为0表示没有进行同步过,需要进行全量同步,否则进行增量同步。这里增量同步的逻辑是通过两个表的id进行比对,当然也可以通过业务时间字段进行比对。1、之前的课程有介绍过单个转换的全量和增量数据同步,今天我们一起学习下通过trans来实现将增量和全量合二为一。本次课程的逻辑是同步t1表数据到t2表,t1和t2表的表机构相同,都有id,name,createtime三个字段。4、使用执行Dynamic SQL步骤执行前面构建的sql语句。5、表输出步骤将数据写入t2表。原创 2024-06-04 22:03:05 · 406 阅读 · 0 评论 -
kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心
上图可以清晰的看到写日志two可执行了两次,那是因为执行SQL脚本也执行了两次,同时前置步骤的中的name字段也可以正常打印了。看过源码的应该了解执行SQL脚本步骤肯定是根据是否执行每一行参数来决定是在init还是在processRow方法中执行。根据上图日志可以清楚的看到写日志two步骤只执行了一次,因为它的前置步骤执行SQL脚本也只执行了一次。3、执行SQL脚本中的执行每一行不进行勾选,表示此步骤只在初始化阶段执行一次。4、执行SQL脚本中的执行每一行勾选,表示对步骤接收的每一行输入执行一次。原创 2024-06-03 21:41:03 · 739 阅读 · 0 评论 -
kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
此处是将python脚本暴露http服务接口,然后在kettle中使用http步骤进行调用。这里不在详细介绍,可以参考之前的http调用文章。kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。最下面的参数可以设置传递给python脚本参数,如设置V1参数。也可以上一步骤的结果作为参数传递给python脚本。# 在这里编写Python脚本的主要逻辑。1、下面是一段简单的无参python脚本。6、下面是一段简单的带参python脚本。原创 2024-05-25 11:01:07 · 616 阅读 · 0 评论 -
kettle从入门到精通 第六十二课 ETL之kettle job中发送邮件(带多个附件),闭坑指南
1、今天群里一个朋友加我微信遇到问下向我求助。2、先自我膨胀下,自从写kettle系列文章之后认识了很多朋友,同时文章也帮助了很多人,让更多朋友少走弯路,高效率工作,节省更多时间享受生活陪伴自己的家人。10、怪异的问题发生在步骤【添加文件到结果文件中】,经过测试发现该步骤会将当前步骤之前的所有步骤中涉及的文件一并添加到结果文件中。解决方案:在步骤【添加文件到结果文件中】前面添加步骤【从结果文件中删除文件】将不需要的文件删除,导致问题解决。4、使用步骤【添加文件到结果文件中】设置指定文件。原创 2024-05-23 15:44:51 · 328 阅读 · 0 评论 -
kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans
1、大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job。2)xxl-job-executor,job执行器,通过调用carte服务器api进行触发kettle job或者转换。3)job执行器访问的carte服务可以是单体,也可以是carte集群中的master服务。今天给大家分享一个使用xxl-job调度carte的流程文件的示例。1)xxl-job-admin,页面可视化配置任务。原创 2024-05-16 08:42:51 · 489 阅读 · 0 评论 -
kettle从入门到精通 第五十九课 ETL之kettle 邮件发送多个附件,使用正则轻松解决
一个朋友说他用kettle将生成好的多个文件(a.xls和b.xls,文件在data目录下)发送给客户,但是data目录下还有其他的文件,他如果指定data目录发送会把。data目录下面的所有文件都作为附件进行发送,显然不符合要求,所以他当时的临时解决方法是创建个临时目录,里面只放a.xls和b.xls两个文件。发送多个文件主要涉及folder和reg两个参数,folder用来指定文件夹,reg用来匹配需要发送的文件,使用正则表达式进行匹配。原创 2024-05-12 21:48:20 · 332 阅读 · 0 评论 -
kettle从入门到精通 第五十八课 ETL之kettle HTTP post使用教程
选择“发布文件”并在“主体参数”下指定字段,但没有为“请求实体字段”(文件名的位置)选择值,将会静默失败。如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。9)Connection close wait time:定义连接关闭后的等待时间(单位为毫秒),默认值为-1,表示使用操作系统的默认等待时间(通常为2分钟)。如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。:如果选中,则必须指定从哪个字段检索URL。原创 2024-05-10 08:00:00 · 987 阅读 · 0 评论 -
kettle从入门到精通 第五十七课 ETL之kettle调用存储过程
调用存储过程有两种方法:使用步骤【调用DB存储过程】或者步骤【执行SQL脚本】。1)创建有参数存储过程sp_with_param,其中param_name 是入参,result是返回结果。存储过程名称:填写需要调用的存储过程名称,这里填写sp_without_param。注意:这里的参数顺序要和存储过程里面的参数顺序保持一致。1)创建无参数存储过程sp_without_param。参数:由于这里是无参数存储过程,无需填写。类型:参数类型,和存储过程参数需要相对应。名称:参数名称,包含入参数和返回参数。原创 2024-05-07 08:00:00 · 817 阅读 · 0 评论 -
kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output
如果您希望流式传输XLSX文件,请选择此选项。8)在接收数据前不创建文件:如果选择了此选项,则在检测到一行后,步骤才会创建文件。1)开始输出自单元格:在MS Excel电子表格中指定要开始写入的单元格(字母列,数字行),例如,A2,表示从从第一列第二行位置开始写数据,第一行为模板文件内容。6)文件名包含步骤数目,文件名包含日期,文件名包含时间,指定日期时间格式,都是为了指定文件生成的名字,如下图所示。14)使用模版创建新文件、模版文件:可以设置模版文件,然后基于模板文件复制目标文件,最后将数据写入。原创 2024-05-05 21:07:19 · 1316 阅读 · 0 评论 -
kettle从入门到精通 第五十五课 ETL之kettle Excel输入
失败的记录数文件目录:翻译:如果发生行解析错误,请指定放置错误的目录位置。Excel 2007 XLSX(Apache POI):如果您选择这种电子表格类型,您可以读取所有已知的Excel文件类型。注意:如果您使用了受密码保护的工作表,您必须将电子表格类型(引擎)设置为Excel 2007 XLSX(Apache POI)。正则表达式(排除):如果上方指定的是目录,这里指定一个正则表达式来排除指定目录中的文件名。正则表达式:如果上方指定的是目录,这里指定一个正则表达式来匹配指定目录中的文件名。原创 2024-04-30 08:00:00 · 1104 阅读 · 0 评论 -
Kettle调优教程(推荐收藏)
双击画布-》杂项-〉记录集合里的记录数进行设置,也可以在kettle.properties属性文件中添加全局参数KETTLE_TRANS_ROWSET_SIZE进行设置。5、设计kettle流程时尽可能少的使用Kettle步骤,因为kettle步骤之间是有行集缓存的,步骤使用的越多,缓存也就越多,步骤间复制拷贝的次数也就越多。通过合理使用行集,可以实现数据的有效管理和处理,提高数据处理的效率和质量。8、插入大量数据的时候尽量把索引删掉,这个具体要根据业务场景,有的是不能删索引的,会影响业务系统使用。原创 2024-04-28 08:00:00 · 2000 阅读 · 2 评论 -
kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战
其实这里的topic是RabbitMQ中的routing key(另外这里的routing key 一定不要绑定队列,否则MQTT consumer步骤无法接收数据)。指定此步骤将连接的 MQTT 服务器的地址,如127.0.0.1:1883(注意这里的端口是1883,不是5672)在每收集到‘X’条记录之后,指定的转换将被执行,并且这些‘X’条记录将被传递给转换过程。请指定此步骤将排队等待处理的传入消息的限制,即从 kfakfa broker接收到的消息。4、字段设置,这里采用默认值就行了,不用调整。原创 2024-04-21 16:17:00 · 1122 阅读 · 0 评论 -
kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战
MQTT 是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic),其他设备可以订阅这个主题以接收相关消息。MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。在主题名称字段中,输入您希望发布流数据(消息)的 MQTT 主题的名称。指定此步骤将连接的 MQTT 服务器的地址,如127.0.0.1:1883(注意这里的端口是1883,不是5672)原创 2024-04-18 09:00:00 · 1691 阅读 · 0 评论 -
kettle从入门到精通 第五十二课 ETL之kettle Avro output
如果模式文件已存在,则会被覆盖。Include date in filename:将系统生成文件的系统日期添加到默认格式yyyyMMdd(例如20240405)的输出文件名中。Include time in filename:将系统生成文件的系统时间添加到默认格式HHmmss(例如235959)的输出文件名中。Specify date time format:"从下拉列表中可用的选项中选择一个不同的日期时间格式,添加到输出文件名中。Avro path:字段的名称将在Avro数据和模式文件中显示。原创 2024-04-06 07:00:00 · 762 阅读 · 0 评论 -
kettle从入门到精通 第五十一课 ETL之kettle Avro input
1、我们在学习nifi的过程中有接触到Avro schema,当时我在想kettle应该也支持Avro,果不其然kettle也是支持Avro文件的读和写的。数据来源格式,有Avro file,JSON datum,Binary datum,Avro file(use alternate schema),本次演示采用Avro file。您可以使用此字段进行映射或数组扩展,从而将数组或映射值扩展为返回多行数据。你可以使用查找字段选项卡创建变量,并将它们映射到特定字段,以在解码时用作对 Avro 结构的查找。原创 2024-04-05 07:00:00 · 656 阅读 · 0 评论 -
kettle快速入门教程
掌握Kettle的进阶技巧,让你站在数据处理的最前沿。通过JavaScript/java脚本实现复杂的数据处理和计算,实现定时任务的自动化,以及应对各种故障处理机制,保障数据处理的稳定性和可靠性。Kettle(Pentaho Data Integration)的神奇魔力,将为你解锁数据世界的无限可能。本人基于公司业务实战整理的50篇精华Kettle系列文章,是你的密钥,让你轻松驾驭数据之力,成就数据之王!随后,我们深入剖析Kettle的核心组件,带你探索转换设计器、作业设计器和资源库管理器的奥秘。原创 2024-04-04 11:43:34 · 1049 阅读 · 0 评论 -
kettle从入门到精通 第五十课 ETL之kettle 课程源文件分享
在过去的几个月里,我已经撰写了将近50篇关于 Kettle 的文章,涵盖了各种主题和用例,如数据抽取、数据转换、数据加载、调度任务等等。总的来说,Kettle 系列文章的撰写已经成为我工作的一大重要组成部分,我将继续努力完善内容,分享更多有价值的知识和经验,帮助更多人在数据处理领域取得成功。随着整理工作的进行,我将会对这些文章进行分类整合,并补充更多实用的示例文件,以丰富读者的学习体验。同时,我也将重点关注读者的反馈和需求,根据大家的建议来调整内容,确保文章能够满足不同层次读者的需求。原创 2024-03-13 21:51:32 · 480 阅读 · 0 评论 -
kettle从入门到精通 第四十六课 ETL之kettle mongo input查询
MongoDB(简称Mongo)是一种开源的文档数据库管理系统,它采用了非常灵活的文档模型,可以存储和处理各种类型和结构的数据。MongoDB是一个面向文档的数据库,意味着它的数据存储在称为文档的BSON(二进制JSON)格式中。Read preference(针对集群配置):指定首先读取哪个节点:主节点(primary)、首选主节点(primary preferred)、从节点(secondary)、首选从节点(secondary preferred)或最近节点(nearest)。留空以永远不终止连接。原创 2024-02-23 22:15:19 · 1123 阅读 · 1 评论 -
kettle从入门到精通 第四十三课 kettle 多对1表合并同步
2、下图通过sql 语句的join 进行关联,表输入【读取student&teacher】步骤读取join之后的数据集,表输出【写入student_third】步骤将数据写入表student_third。a、表输入【读取student】步骤读取student数据,然后通过排序步骤【student排序】升序排序,当然这里的排序步骤也可以省略通过表输入中的sql的order by 方式实现。d、表输出【写入student_third】步骤将数据写入表student_third。原创 2024-02-20 09:29:41 · 957 阅读 · 0 评论 -
kettle从入门到精通 第四十二课 kettle 1对多表拆分同步
2、下图涉及到的步骤比较简单,表输入【读取三方学生信息表】加载源数据,从student_third表中读取数据,javascript代码【根据teachernameMd5计算出teacherSerialno】通过md5计算外键,表输出【写入学生信息表】写入student表,1、在有的业务场景中,会涉及一对多表拆分同步的业务场景,也就是说原表是一张表,将原表字段进行拆分放入目标库中的多张表,如下面的示例将表student_third中的数据。6、步骤【写入学生信息表】实现逻辑比较简单,如下图所示。原创 2024-02-19 08:41:04 · 463 阅读 · 0 评论 -
kettle从入门到精通 第四十一课 kettle 事务(单个转换文件)
6、 当name=超级无敌Java小金刚,且不开始事务的情况下时,t1写入失败,t2写入成功,因为字段name的长度不符合t1表中name字段长度,字段name的长度不符合t2表中name字段长度。2、通过生成记录步骤生成一条数据,通过复制的方法同时写入t1和t2 两个表,t1写入和t2写入是两个执行sql语句步骤,如下图所示。7、 当name=超级无敌Java小金刚,且开始事务的情况下时,t1写入失败,t2写入失败。8、 当name=Java小金刚,且开始事务的情况下时,t1写入成功,t2写入成功。原创 2024-02-04 20:20:41 · 688 阅读 · 0 评论 -
kettle从入门到精通 第三十九课 kettle 增量同步(日级)
4、 同步T1表中T-1日数据至T2表的具体实现转换逻辑如下图所示,这里为了方便演示t1和t2表的表结构是一样的,当然可以是不一样的。后续会讲解下表1对N,N对1,N对N的同步案例。2、kettle增量全量同步示例依然基于test数据库,从t1表增量同步数据到t2表,假定每天0点跑批将t1表中的t-1日的数据同步到t2表中,如下图所示。c、删除t2表中T-1日的数据、同步T1表中T-1日数据至T2表是两个转换步骤,每个转换步骤引用自己的具体实现转换文件。b、同步t1表中t-1日数据至t2表。原创 2024-02-04 20:19:07 · 449 阅读 · 0 评论 -
kettle从入门到精通 第三十八课 kettle 分页全量同步(数据量大)
5、计算offset步骤是javascript 步骤,这里通过一个for循环,将一条数据转换为多条数据,输出offset和currPage,最后通过SKIP_TRANSFORMATION 跳过for外层的进程。c、truncate_test_t2、query_test_t1_totalPage、循环抽数是三个转换步骤,每个转换步骤引用自己的具体实现转换文件。2、kettle分页全量同步示例依然基于test数据库,从t1表全量同步数据到t2表,由于t1表的数据比较大,所以选择分页全量同步策略,如下图所示。原创 2024-02-02 13:23:24 · 538 阅读 · 0 评论 -
kettle从入门到精通 第三十七课 kettle 全量同步(数据量小)
3、truncate_test_t2的转换逻辑比较简单,每次同步数据之前将目标表t2 表数据清空,当然也可以采用delete 语句,不过delete 语句在大数据量的情况下性能比较差。4、全量同步(表数量小)的具体转换文件如下图,从t1表读取数据,经过一些列的转换映射等操作,写入t2目标表。2、今天给大家分享全量同步的示例,基于test数据库,从t1表全量同步数据到t2表,由于t1表的数据比较小,所以选择全量同步策略,如下图所示。离线数据:对实时性要求不高,可以分钟级、小时级、日级等。原创 2024-02-02 13:22:10 · 590 阅读 · 0 评论 -
kettle从入门到精通 第三十六课 kettle carte 集群
7、集群模式运行转换文件。通过集群提交时,作业或者转换是通过集群Master提交作业,Master和多个Slave采用动态抢占式(排它锁)机制抢占任务,实施任务的运行操作。5、基于子服务器列表创建kettle集群schemas,选择设置好的子服务器,这里演示采用静态cluster,Dynamic cluster模式支持动态添加子服务器。carte-config-8082.xml 配置文件同carte-config-8081.xml 配置文件类似,这里省略。3、启动从carte服务。原创 2024-02-02 13:21:13 · 1095 阅读 · 1 评论 -
kettle从入门到精通 第三十五课 kettle 变量
kettle.properties文件的位置可以通过设置KETTLE_HOME来指定,如设置KETTLE_HOME 为/opt/kettle/home,则kettle.properties文件的路径为/opt/kettle/home/.kettle/kettle.properties。`${Internal.Entry.Current.Directory.Filename}`:当前作业或转换文件的完整路径和文件名。c、如果解析一个依赖于另一个变量的变量,可以这样使用:${%%inner_var%%}。原创 2024-02-02 13:20:17 · 2271 阅读 · 0 评论 -
kettle从入门到精通 第三十四课 kettle 错误处理
ERR_NAME` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '错误名称',`ERR_NUM` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '错误行',4、把错误信息入库是个不错的选择,方便后续排查问题且可以根据错误信息表进行邮件预警,如下图所示。原创 2024-01-28 12:22:59 · 1333 阅读 · 1 评论