最近工作上遇到数据同步场景就简单记录下
这里使用kettle9.0版本为例。
概述如下图
表输入步骤就简单说明下:
1.没有数据源就创建数据源在选择数据源
2.选择模式,当然你若是mysql就这一步当我没说哈。
3.写业务需要的最简字段的查询,当然若可以排序也最好按照业务需要排好顺即order by
下面分别来讲解这七个说明点。
说明1.排序:
说到排序就先将说明7说了哈。这里的源表—>字段选择其实你可以看作输入源(可以是多表关联也可以是单表哈,当然也可以是其他输入源的关联形成的哈)
这里的排序(包括源表和目标表)最好按照目标表的主键进行排序(方便进行合并记录)
说明2:字段选择
主要是将源表字段和目标表字段在类型和名称上保持一致。
说明3:合并记录
1.匹配的关键字段即目标表的逻辑主键字段集
2.数据字段即所有的需要的业务字段集
3.旧数据源即目标表的那一分支
3.新数据源即源表的那一分支
4.标记字段需要和业务字段不同名,在合并记录后标记字段有4种字符串类型的值
值 | 描述 |
---|---|
deleted | 标记为删除的 |
new | 标记为新增的 |
changed | 标记为更新的 |
identical | 标记为未发生改变的 |
说明4:switch/case: 即依据标记字段进行分支
说明5:删除
说明6:插入更新
执行运行,效果如下图