kettle实验四:基于触发器的CDC案例

【实验目的】
1.明白Kettle的“表输入”,“插入/更新”组件背后的基本运行过程,以得到期望值。
2.熟练掌握“表输入”,“插入/更新”组件的使用,实现不同数据表数据内容的改变。

【实验原理】
首先说明各个表的作用:cdc_opt_log表是记录用户对那些数据进行了哪些操作,同时记录该操作是否被处理,拉取成功后,我们需要让系统将cdc_opt_log表中字段名为“cdctype”更新为“已处理”; student_cdc_sync表保存插入操作的增量数据;基于上一个实验的数据更新的实例,基于“插入/更新”组件建立转换,使得用户进行插入操作后,将cdc_opt_log表中字段名为“cdctype”更新为“已处理”。

【实验环境】
操作系统:Windows10 
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本

【实验步骤】

一、建立转换

双击spoon.bat打开kettle。(1)点击新建按钮,在下拉菜单中点击选择“转换”即可创建;(2)然后点击“保存”重命名该转换文件,保存在某个指定的路径;(3)选择输入步骤、输出步骤和跳。
在这里插入图片描述

二、各组件的配置

1.MySQL数据库创建相关表,具体如下:
在这里插入图片描述

其中student_cdc表的触发器配置如下所示:
在这里插入图片描述

2.“CDC日志表输入”的配置
Step1:双击‘自定义常量数据’组件,配置数据库连接
在这里插入图片描述

Step2:获取SQL语句,并编写其相关的where语句
在这里插入图片描述

3.“学生表输入”的配置:
双击“学生表输入”组件,获取SQL查询语句,并编写其where语句,以及转换运行后所期望得到的cdc_option_log表的对应字段的内容改变
在这里插入图片描述

4.“插入学生同步表”的配置:
双击‘插入学生同步表’组件,配置目标表的名称,填写查询的的关键字以及插入的字段
在这里插入图片描述

5.“更新CDC日志表”的配置:
双击‘更新CDC日志表’组件,配置目标表的名称,填写查询的的关键字以及插入字段的名称
在这里插入图片描述

三、执行转换

点击按钮,执行转换,结果如下:
在这里插入图片描述

四、实验结果:

输入文件‘cdc_option_log’:
在这里插入图片描述

输入文件‘student_cdc’
在这里插入图片描述

输出文件‘student_cdc_sync’
在这里插入图片描述

输出文件‘cdc_option_log’:
在这里插入图片描述

五、实验中遇到的困难

(一)因疏忽忘记在Mysql里创建目标表:
在这里插入图片描述

(二)盲目的照着书上所说,对学生表输入进行配件,导致错误
在这里插入图片描述

在这里插入图片描述

六、实验总结

本次实验主要是在Mysql数据库中基于触发器的插入操作捕获变化的数据并将其变化标志记录在另一个表格中。本次实验的student_cdc表在设计时未设置时间,使得输入文件和输出文件在内容上并无差别,这是本实验的不足之处。
实验中遇到的错误主要是由于我较为盲目的按照书本的代码内容执行,使得本该就不该存在的东西最终硬是让它输出,最后导致莫名其妙的报错,真的是老师讲的时候能理解是一回事,并不代表你已经理解其本质的信息,到真正使用的时候懵懵懂懂,不理解其背后操作的原因,致使程序运行不出来,往后多多上手实操,弥补一些自身的短板,进一步提高自己对软件使用的熟练程度。

附 件:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值