kettle开发篇-合并记录

简介: kettle开发篇-合并记录

前言:


昨天我们讲了数据库相关操作,流查询,通过流查询我们进行等值查询,从而实现类似数据库内连接的效果,今天我们来讲一个类似的组件,叫合并记录,合并记录顾名思义就是将数据进行合并,具体来讲就是将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。


一、合并记录


今天我们讲的连接是转换里面的第八个分类。连接是结果集通过关键字进行连接。

合并记录是用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。需要设置的参数包括旧数据来源:旧数据来源的步骤、新数据来源:新数据来源的步骤。

其中根据字段数据的状态,分为四种数据状态,分别为“identical”-旧数据和新数据一样、“changed”-数据发生了变化、“new”-新数据中有而旧数据中没有的记录、“deleted”-旧数据中有而新数据中没有的记录。 关键字段:用于定位两个数据源中的同一条记录。 比较字段:对于两个数据源中的同一条记录中,指定需要比较的字段。合并后的数据将包括旧数据来源和新数据来源的所有数据,对于变化的数据将用新数据代替旧数据,同时在结果中用一个标示字段,来指定新旧数据的比较结果。 需要注意的是: 旧数据和新数据需要事先按照关键字段排序 旧数据和新数据需要有相同的字段名称

合并记录的组件主要包括四大类内容,新旧数据源、标志字段、关键字段、数据字段。


二、任务实操


我们根据需求从EXcel读取新数据和旧数据,合并数据,标记出new/delete/changged/identical,把数据保持到Excel.

最终我们的转换包括两个EXCEL输入即新旧数据源、合并记录和EXCEL输出。

在实操的时候会提示我们需要先将数据进行排序,这是因为在kettle里面都是数据流处理的方式,因此在合并记录前需要将数据进行排序再进行合并、比较。

运行转换后我们就可以知道哪条数据是被修改过的,哪条记录是被删除的等等,是不是特别有用


相关文章
|
4月前
kettle开发篇-空操作
kettle开发篇-空操作
37 0
|
4月前
|
数据库连接 数据库
kettle开发篇-流查询
kettle开发篇-流查询
58 0
|
4月前
|
Oracle 前端开发 关系型数据库
kettle开发篇-更新
kettle开发篇-更新
93 1
|
7月前
|
JavaScript
开发遇到问题记录
开发遇到问题记录
30 0
|
4月前
|
数据库
kettle开发篇-分组
kettle开发篇-分组
57 0
|
5月前
|
流计算
Flink CDC-sql怎样导数据使starrocks支持主键模型delete的配置吗?目前只能更新和插入,但是删除不行
Flink CDC-sql怎样导数据使starrocks支持主键模型delete的配置吗?目前只能更新和插入,但是删除不行
102 1
|
11月前
|
SQL 文件存储 数据库
Hive分区表的新增字段数据为null的问题解决方法
Hive分区表的新增字段数据为null的问题解决方法
253 0
|
前端开发 数据安全/隐私保护
日常开发记录(2021-11-08)
日常开发记录(2021-11-08)
日常开发记录(2021-11-08)