Kettle 实现数据同步

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

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

下面是实现的操作总结。

1.下载 安装kettle

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

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

配置java环境变量  JAVA_HOME

具体查看jdk环境配置

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

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

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

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

   1创建转换

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

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

 

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

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

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

   3.核心对象:

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

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

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

连接--合并记录  

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

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

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

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

 

然后

文件--新建--作业

通用--START

通用--转换

通用--成功

按住Shift 连接功能块

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

确定即可。

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

运行可查看 同步结果。

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

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值