写这篇随笔只为记录,免得忘记了。
第一步:建立一个转换,文件-》新建-》转换
第二步:打开转换,右键DB链接-》新建:如下图
我想这如何填写大家都知道,无非就是链接IP,数据库名称,用户名,密码等。
第三步:在转换的核心对象中输入2个输入和一个合并记录,一个同步数据,用线链接,如下图:
表输入在输入中找:合并记录在链接中;数据同步在输出中;剩下的就是表输入设置,合并记录设置,数据同步设置。
第四步:表输入设置,这个要注意,如果来源数据和同步数据字段不一样的话,被来源数据可以用as来改变列明,这里要主要一定要名称一致和列顺序一致,我这纠结了很久。还是贴个图吧:
记录数量限制为0就是所有同步。
第五步:合并记录设置,要注意旧数据是你要同步的数据,新数据是来源数据。匹配的关键字是主键,数据字段是你要同步的列包括主键。如下图:
第六步:也是最重要的一步,我出错最多的一步,因为这要用到第五步的标志字段,合并过后标志字段有
“Identical” : 关键字在新旧数据源中都存在,域值相同
“changed” : 关键字在新旧数据源中都存在,但域值不同
“new” : 旧数据源中没有找到关键字
“deleted”: 新数据源中没有找到关键字
如下图配置:
这里注意别把标志字段加上,还有查询关键字注意。
这就是更具合并记录后的标志字段来决定是插入,更新,还是删除。
以上数据同步就完了,如果需要定时的话,就重新建个作业,如下
开始里面就有定时,勾上重复即可,*发挥,后面的转换就是我们刚刚新建的转换,双击转换是如下图红色区域选择刚刚保存的转换即可。
以上一个定时数据同步就全部完成,各位可以*发挥多多交流,kettle工具很强大,我只看见其中一小块。
纯手打,尊重原创