1、我们平常在写应用程序的时候,会有去重的业务场景,可以在数据库层面解决,也可以在内存层面解决。

同样kettle也有去重的步骤【唯一行(哈希值)】和【去除重复记录】

唯一行(哈希值):使用 HashSet 来删除重复行,只保留唯一的行。

去除重复记录(Unique Rows):删除重复行,只保留唯一的行。这只适用于已排序的输入。如果输入没有排序,则只能正确处理连续的重复行。

2、下面示例比较简单,使用步骤【自定义常量数据】生成3条数据,然后通过步骤【唯一行(哈希值)】进行去重。

3、根据name字段进行去重,hashset的去重逻辑是不存在重复数据插入hashset,存在则不插入,所以name为Java小金刚的数据保留了第一条,如下图所示。

4、使用步骤【自定义常量数据】生成4条数据,然后通过步骤【去除重复记录】进行去重。没有排序的情况下,不相邻的重复数据没有进行去重,如下图所示。

5、使用步骤【自定义常量数据】生成4条数据,然后通过步骤【排序】根据name进行排序,最后通过步骤【去除重复记录】进行去重。排序的情况下,不相邻的重复数据仅保留一条,如下图所示。

 

kettle从入门到精通 第四十四课 kettle 去重的更多相关文章

  1. NeHe OpenGL教程 第四十五课:顶点缓存

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. 孤荷凌寒自学python第四十四天Python操作 数据库之准备工作

     孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...

  3. NeHe OpenGL教程 第四十八课:轨迹球

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. NeHe OpenGL教程 第四十六课:全屏反走样

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  6. NeHe OpenGL教程 第四十四课:3D光晕

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. 网站开发进阶(四十四)input type="submit" 和"button"的区别

    网站开发进阶(四十四)input type="submit" 和"button"的区别   在一个页面上画一个按钮,有四种办法: 这就是一个按钮.如果你不写ja ...

  9. Gradle 1.12用户指南翻译——第四十四章. 分发插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  10. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

随机推荐

  1. 牛客网-SQL专项训练25

    ①批处理是指包含一条或多条T-SQL语句的语句组,下列选项中,关于批处理的规则描述正确的是(B) 解析: A选项:不能定义一个check约束后,立即在同一个批处理中使用: C选项:Create def ...

  2. 力扣29(java)-两数相除(中等)

    题目: 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 整数除 ...

  3. 探秘RocketMQ源码——Series1:Producer视角看事务消息

    简介: 探秘RocketMQ源码--Series1:Producer视角看事务消息 1. 前言 Apache RocketMQ作为广为人知的开源消息中间件,诞生于阿里巴巴,于2016年捐赠给了Apac ...

  4. 贾扬清演讲实录:一个AI开发者的奇幻漂流

    ​简介:2021阿里灵杰AI工程化峰会,贾扬清深度解读阿里灵杰大数据和AI一体化平台. 演讲人:贾扬清 演讲主题:一个AI开发者的奇幻漂流 活动:2021阿里灵杰AI工程化峰会 对于绝大多数人来说,这 ...

  5. 2018-2-13-C#-获得设备usb信息

    title author date CreateTime categories C# 获得设备usb信息 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23 ...

  6. SAP集成技术(六)技术、标准和协议

    本文链接:https://www.cnblogs.com/hhelibeb/p/17849837.html 内容摘录自<SAP Interface Management Guide>. W ...

  7. goland dlv在远程linux里运行代码开发,并debug调适

    一.配置好ssh自动同步代码 参考下面连接: https://www.cnblogs.com/haima/p/13257524.html 二.配置devbug监听运行 GO Remote 填写配置 l ...

  8. NSThread的start方法内部做了什么?

    下面是NSThread start方法的汇编码: 1 1 1 ;Foundation`-[NSThread start]: 2 2 2 -> 0x7fff2594f47f <+0>: ...

  9. Docker使用docker compose部署zfile 实现在线浏览下载

    需要先安装docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.3/docker-c ...

  10. 等保测评--postgresql修改默认超级用户,建立普通用户使用

    1.postgresql权限说明 SELECT INSERT UPDATE DELETE TRUNCATE REFERENCES TRIGGER CREATE CONNECT TEMPORARY EX ...