摘要: 在什么情况下更适合使用HTML IMG标签来显示一个图像,而不是一个CSS有背景图像,反之亦然?如下场景使用img标签比较合适:1、如果图像是等内容的一部分或图表或人(真正的人,而不是股票图人),使用Img标签加上alt属性。2、如果你想打印页面并且你想要的图像包括默认情况下使用IMG。3、使用IM... 阅读全文
posted @ 2014-05-15 11:02 慕容尘轩 阅读(15397) 评论(0) 推荐(0) 编辑

场景:假如T日需要将a表中T-1日的数据同步到b表。由于某种业务需求a表中已经同步到b表中的数据发生了变化需要重新同步,这个时候就会用到插入更新插件,也就是

说a表中数据重新同步b表,若b表中存在此数据(根据唯一id)则执行更新操作,否则执行插入操作。

1、软硬件环境

本次教程基于本机docker版mysql 8.x数据库进行测试,如下图所示:

 

电脑是基于本人mac笔记本,配置如下:

 2、生成数据

使用表输出组件往t1(id,name,createtime)表中插入100条数据,采用单线程5000笔批量提交方式,速度在2.6w/s左右,如下图所示:

 

表输出步骤配置如下:

 初始化数据如下:

 

3、使用插入/更新步骤,存在数据则更新,不存在则插入新数据。如下图所示

性能非常差,原因是每次都需要将旧数据查出来,然后和新数据对比是否有变化,有则执行更新操作,无则插入数据。每条数据都要和数据库交互两次。

 数据更新如下:

4、使用自研Upsert组件,执行插入更新操作,如下图所示:

自研Upsert插件单线程速度在1.4W/s,之所以速度比原有插入/更新大幅提升,是因为Upsert处理每条数据时只需要和数据库交互一次。

这里验证的是假如每条数据都发生了变化,若有少量变化或者没变化速度将大幅提升。

Upsert配置如下:

 

 

更新数据如下:

数据没有变化是Upsert执行如下图所示:

注:本次测试结果是基于本地环境,开单线程的测试结果,若放到服务器上多线程模式速度会更快。

Done!!!

 

posted @ 2025-03-05 21:03 慕容尘轩 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 场景:大家都知道我们平时使用spoon客户端的时候时无法直接使用git的,给我们团队协作带来了一些小问题,需要我们本机单独安装git客户端进行手动上传trans或者job。 我们团队成员倪老师开发了一款kettle的git插件,帮我们解决了这个大难题,大大方便了我们团队协作,今天一起来揭开这款插件的 阅读全文
posted @ 2025-03-03 21:36 慕容尘轩 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 平常我们在使用kettle抽取数据的时候会涉及到敏感数据邀请脱敏或者进行掩码的需求,今天我们使用自定义函数插件来实现这些需求。 1、将自定义函数插件(kettle-func-plugin.zip)解压后放到kettle的plugins目录下面,然后重启服务。 2、启动spoon客户端,转换文件夹下找 阅读全文
posted @ 2025-03-01 21:52 慕容尘轩 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 最近两天感冒了,而且莫名其妙的嗓子哑了好几天,心情很是不爽。周末两天啥也不想干,坐在电脑旁边继续手撕kettle调度系统。 1、其实之前有整理过kettle的调度方法,有很多种,根据自己的需求合理选择其中的一种,如下图所示: 2、kettlePack 应该是深度集成kettle,将kettle的核心 阅读全文
posted @ 2025-02-24 18:04 慕容尘轩 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 场景:使用kettle实现将查询结果返回给客户端,也就是说kettle暴露查询接口供外围系统调用。前提必须是使用carte服务才可以提供接口供外部系统调用。具体实操方法如下: 1、设计转换 根据具体需求设计转换,主要用到的步骤有获取变量(从请求参数中获取变量)、json输入(解析入参),json 输 阅读全文
posted @ 2025-02-17 21:44 慕容尘轩 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1、场景需求 群里一位老朋友想通过http接口下载文件流,然后将文件流保存为文件存储到本地,如下图所示: 2、做过应用程序研发,对http知识有所了解的,结合对方发的postman截图,一眼就知道了接口的真实面目。接口返回的content-type是application/octet-stream且 阅读全文
posted @ 2025-01-24 09:03 慕容尘轩 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1、下载 官方下载地址:https://hop.apache.org/download/,本教程是基于apache-hop-client-2.11.0.zip进行解压,需要jdk17,小伙伴们可以根据自己的需求下载相应的版本。如下图所示 2、下载jdk17(https://www.microsoft 阅读全文
posted @ 2025-01-12 20:55 慕容尘轩 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1、apache hop核心概念思维导图 虽然apache hop是kettle的一个分支,但是它的概念和kettle还是有一些区别的,下图是我根据官方文档梳理的appache hop的核心概念思维导图。 2、Tools(工具) 1)Hop Conf Hop Conf 是一个命令行工具,用于管理您 阅读全文
posted @ 2025-01-12 20:55 慕容尘轩 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。由于群内人员较多无法直接扫描进入,公众号后台加我微信入群,备注kettle/hop。 1、群里经常有小伙伴询问kettle安装包或者私下找我要,今天群里的三倍镜大佬分享了一个kettle全家桶版本,今天我整理下分享给大家。 2 阅读全文
posted @ 2025-01-10 13:11 慕容尘轩 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1、为啥收取1元? 确保只有真正感兴趣或有意愿的用户才会加入。减少无关人员的加入,保持群组的专业性和活跃度。 付费入群可以减少垃圾信息的发送,因为发垃圾信息的人不太可能愿意为发送广告付费。 2、送人玫瑰手留余香 自从公众号连载了90+篇关于kettle的干活文章,不到半年时间和1500+好友结伴前行 阅读全文
posted @ 2024-11-19 17:56 慕容尘轩 阅读(111) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示