kettle开发篇-合并记录

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

前言:


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


一、合并记录


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

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

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

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


二、任务实操


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

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

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

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


相关文章
|
数据库连接 数据库
kettle开发篇-流查询
kettle开发篇-流查询
414 0
|
Oracle 前端开发 关系型数据库
kettle开发篇-更新
kettle开发篇-更新
518 1
|
数据采集 数据库
Kettle之错误处理(Error Handling)里面的坑
Kettle之错误处理(Error Handling)里面的坑
kettle开发篇-记录关联(笛卡尔积)
kettle开发篇-记录关联(笛卡尔积)
474 0
|
12月前
|
Java
ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)
本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.
1511 3
|
12月前
|
SQL 关系型数据库 MySQL
ETL工具 Kettle 中怎么通过变量传参
ETL工具 Kettle 中怎么通过变量传参
887 0
|
SQL 前端开发 JavaScript
kettle开发-超好用自定义数据处理组件
kettle开发-超好用自定义数据处理组件
496 0
|
SQL 数据库 索引
SQL Server开启变更数据捕获(CDC)
SQL Server开启变更数据捕获(CDC)
|
JavaScript 前端开发 Java
kettle开发篇-JavaScript脚本
kettle开发篇-JavaScript脚本
658 0