本来想自己写,发现有网友已经写的很详细。先转过来,一会我再写我遇到的问题。
场景不同,下面的做法也不尽相同。
场景一,只有输入和输出,一个取源数据表,一个目标表只管插入,那么转换里只用拉入表输入和表输出。
场景二,对数据进行操作。此时需要下面的步骤。
需要注意:目标表字段需要跟所取的源表字段保持一致。
若目标表中有新字段,可加公式进行调整,注意目标库的字段映射
其他转自:
https://blog.csdn.net/fk478561641/article/details/80678506
首先需要下载kettle工具,本人的环境为:jdk1.8。
下载地址:https://jaist.dl.sourceforge.net/project/pentaho/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip
来接mysql数据库需要把mysql-connector-java-5.1.38.jar导入到解压后的lib文件中,并重启kettel。
表同步为单向表操作。
首先新建转换,然后链接数据库。
然后设置表输入,插入/更新,执行sql脚本(为同步删除操作);
本人插入表为127-mysql-test 库中的user2表
插入更新表为127-mysql-test2库中的user3表。
执行sql脚本中删除的也是127-mysql-test2库中的user3表。
以上两个方面设置后可以单次执行插入和更新,但是删除源表后,插入表不能同步删除,所以需要设置“执行sql脚本”进行同步删除操作。
以上操作后,可以同步插入更新和删除,到此后需要有一个定时器,进行定时同步数据。
文件->新建->作业
然后启动就可以定时调度了。定时同步数据就完成了。
当然了如果是需要多张表一起同步的话,就多建立几个转换就ok了。