电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

kettle实现表同步

kettle实现表同步_第1页
1/7
kettle实现表同步_第2页
2/7
kettle实现表同步_第3页
3/7
同步数据常见的应用场景包括以下4 个种类型: Ø 只增加、无更新、无删除 Ø 只更新、无增加、无删除 Ø 增加+更新、无删除 Ø 增加+更新+删除 1 只增加、无更新、无删除 对于这种只增加数据的情况,可细分为以下2 种类型: 1) 基表存在更新字段。 通过获取目标表上最大的更新时间或最大 ID,在“表输入”步骤中加入条件限制只读取新增的数据。 这里要注意的是,获取最大更新时间或最大 ID 时,如果目标表还没有数据,最大值会获取不了。其中的一个解决方法是在“获取最大 ID”步骤的SQL 中,加入最小日期或 ID 的联合查询即可,如: SELECT MAX(ID) FROM (SELECT MAX(ID) AS ID FROM T1 UNION ALL SELECT 0 AS ID FROM DUAL) 2) 基表不存在更新字段。 通过“插入/更新”步骤进行插入。 插入/更新步骤选项: 2 只更新、无增加、无删除 通过“更新”步骤进行更新。 更新选项: 3 增加+更新、无删除 通过“插入/更新”步骤进行插入。 区别是“插入/更新步骤”中的选项,去掉“不执行任何更新”的勾选: 4 增加+更新+删除 这种数据同步情况,可细分为以下2 种情况: 1) 源库有表保存删除、更新和新增的信息。 通过条件判断,分别进行“插入/更新”和“删除”即可,如下图所示。 2) 源库没有保存增删改信息 Kettle 提供了一种对比增量更新的机制处理这种情况,可通过“合并记录”步骤实现,该步骤的输入是新旧两个数据源,通过关键字进行数据值比对,对比结果分为以下4 种类型: “Identical” : 关键字在新旧数据源中都存在,域值相同 “changed” : 关键字在新旧数据源中都存在,但域值不同 “new” : 旧数据源中没有找到关键字 “deleted”: 新数据源中没有找到关键字 两个数据源的数据都进入下一步骤,上述 4 种结果类型作为输出表的标志字段进行保存。 以下为示例: Ø 源数据库测试脚本 create table k1 (f1 varchar2(200),f2varchar2(200)) truncate table k1; insert into k1(f1,f2) values('1','11'); insert into k1(f1,f2) values('2','22'); insert into k1(f1,f2) values('5','5'); commit; Ø 目标数据库测试脚本 create table k1 (f1 varchar2(200),f2varchar2(200)) truncate table k1; insert into k1(f1,f2) values('1','1'); insert into k1(f1,f2) values('2','2'); insert into k1(f1,f2) values...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

kettle实现表同步

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部