Kettle 实现数据同步

时间:2024-03-13 12:58:30

因为服务器限制,现需要同步两个不同数据库的业务表数据。

这里选择使用Kettle 实现。5分钟,同步一次。

下面是实现的操作总结。

1.下载 安装kettle

https://sourceforge.net/projects/pentaho/files/Data%20Integration/

Kettle 实现数据同步

环境要求: 安装jdk:1.8或以上版本

配置java环境变量  JAVA_HOME

具体查看jdk环境配置

配置kettle环境变量   KETTLE_HOME ,目录指向kettle的实际安装目录: ..../data-integration

2.解压 点击 Spoon.bat  即可运行 data-integration/Spoon.bat。首次较慢需等待

Kettle 实现数据同步

3.这里我所需的同步  是 A库 中的3张表 实时 同步 到B库中

这里要用的是数据同步,通过比较 数据源 和 目标数据的内容,对目标数据表进行 插入、更新、删除操作 使两张表内容完全一致。

   1创建转换

界面: 文件--创建--转换

Kettle 实现数据同步

  2主对象树:添加数据库链接

Kettle 实现数据同步

 

Kettle 实现数据同步

点击测试 可以查看链接 是否成功

首次链接可能因为没有对应驱动 无法连接,可在目录......\data-integration\lib下添加对应数据库驱动jar包

mysql:mysql-connector-java-5.1.48-bin.jar

Kettle 实现数据同步

   3.核心对象:

输入--表输入  拖拽到工作台。双击编辑属性。

选择要同步的表 或者 要同步的数据sql

这里需要两个表输入  源数据表 和 目标数据表

连接--合并记录  

将俩个表输入 连接在一起。

需要保持顺序一致,连个表查询的时候 可以order by 排个序

Kettle 实现数据同步

合并内容 和 数据同步 是一起使用的。

Kettle 实现数据同步Kettle 实现数据同步

设定好转换策略 一定要保存 ,保存**.ktr文件到一个目录即可;

 

然后

文件--新建--作业

通用--START

通用--转换

通用--成功

按住Shift 连接功能块

点击转换 设置转换文件:选择刚刚的.ktr文件

确定即可。

Kettle 实现数据同步

保存作业文件,需要先保存才可以运行。

Kettle 实现数据同步

运行可查看 同步结果。

开始功能块可以设置 定时循环条件。