Kettle入门使用:插入/更新/数据同步

一.Kettle初步使用

  1. 下载Kettle压缩包
  2. 将压缩包直接解压到当前文件夹
  3. 打开解压包后,双击Spoon.bat即可直接运行(此处默认电脑已安装JDK环境)
  4. 但是!如果需要连接数据库操作数据表(插入/更新/同步等),则需要在lib包里加入数据库驱动jar包。我是mysql数据库,直接从本地maven仓库中Ctrl+CV过来的。(初次使用者去你的项目里找来数据库驱动jar包即可,oracle同理)。
  5. 双击Spoon.bat即可启动,然后点击“文件”或右键“转换”,均可新建转换
  6. 新建转换后需要连接数据库。①点击主对象树;②右键“DB连接”——新建;③选择数据库(本人为MySQL),Oracle同理;④选择连接方式;⑤设置数据库连接(别忘了第一行“连接名称”:随便取个名);⑥点击“测试”,成功or失败;⑦成功后右下角确认即可,然后“DB连接”下面就有该连接了,右键连接可设置为共享(下次新建连接就可以直接用)
  7. 点击核心对象,可以看到很多功能,反正大部分我都不会用(苦笑脸!)所以下面只演示表的插入/更新/同步。。。。。
  8. 实现数据的插入/更新:①user表:②user_age表:③目的:将user表中的增量/更新数据同步到user_age表。
  9. 点击“输入”,然后将“表输入”直接拖拽到右边的工作框;双击表输入然后依次步骤取名——选择下之前创建的连接——再写sql,获取你要的数据(我这里是获取user表所有数据)

  10. 点击“输出”,直接将“插入/更新”拖拽到右边的工作框,同样取个名——选择数据库连接——目标表选择你需要插入/更新的表——目标表与源数据表(流)的对应关系(此处即user_age表的user_id与user表的id,可理解为外键关系,spoon通过比较这两个字段来同步数据)——数据同步的对应关系(记住更新下面选择Y,不需要同步选择N)

  11.  Shift健按住,左键点击表即可延伸箭头,创建转换。点击运行,会提示保存转换(工作数据建议保存到固定文件夹,方便后续查看/使用),保存后即可运行。每个步骤上都出现绿色的“√”表示运行成功,可查看目标表数据是否同步,若出现红色警告则说明该步骤运行失败。

  12.  上述转换实际存在缺陷:只能在目标表中同步源表的插入/更新的数据,而源表删除的数据,目标表不会删除,即并没完全同步(目标表和源表完全一致)。若需要完全同步,可使用“数据同步”输出。

二.Kettle数据同步

  1. 直接上转换图。目的:将user表的数据完全同步到目标表(两表保持完全一致)

     

  2. 拖拽两个表输入,配置如图,因为要合并记录(实际是对两张表数据进行比较),所以获取SQL获取数据/字段等要一致。

  3. 合并记录,连接中拖拽出“合并记录”

  4.  合并记录配置:

    ①一定要注意旧数据源和新数据源的区别,

    旧数据源指:需要同步的目标表,user_age表(可理解为备份表);

    新数据源值:源数据,user表(可理解为业务中一直变动的表);

    ②标志字段:flagfield后面“数据同步”步骤需要用到,Spoon用它记录数据的“增 删 改”状态,才能执行同步

    ③关键字段,两张表数据用来对比的字段(此处user_id);

    ④同步的数据字段。

     

  5.  

    输出中拖拽出“数据同步”,配置如下:

     

     

     

  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值