- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、【kettle】window安装与配置1、下载kettle包,并解压/projects/data-integration/2、安装jdk,并配置java环境a).打开我的电脑--属性--高级--环境变量b).新建系统变量JAVA_HOME和CLASSPATH变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.7.0[具体路径以自己本机安装目录为准]变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。变量名:Path变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;3、配置kettle环境在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration4、启动spoonWindows直接双击批处理文件 Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:?~/kettle/data-integration/spoon.sh二、 使用Kettle同步数据同步数据常见的应用场景包括以下4个种类型:??只增加、无更新、无删除??只更新、无增加、无删除??增加+更新、无删除??增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。2) 基表不存在更新字段。通过“插入/更新”步骤进行插入。插入/更新步骤选项:只更新、无增加、无删除通过“更新”步骤进行更新。更新选项:增加+更新、无删除通过“插入/更新”步骤进行插入。区别是“插入/更新步骤”中的选项,去掉“不执行任何更新”的勾选:增加+更新+删除这种数据同步情况,可细分为以下2种情况:1) 源库有表保存删除、更新和新增的信息。通过条件判断,分别进行“插入/更新”和“删除”即可,如下图所示。2) 源库没有保存增删改信息Kettle提供了一种对比增量更新的机制处理这种情况,可通过“合并记录”步骤实现,该步骤的输入是新旧两个数据源,通过关键字进行数据值比对,对比结果分为以下4种类型:“Identical”: 关键字在新旧数据源中都存在,域值相同“changed”: 关键字在新旧数据源中都存在,但域值不同“new”: 旧数据源中没有找到关键字“deleted”: 新数据源中没有找到关键字两个数据源的数据都进入下一步骤,上述4种结果类型作为输出表的标志字段进行保存。以下为示例:??源数据库测试脚本create table k1 (f1 varchar2(200),f2 varchar2(200))truncate table k1;insertinto 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),f2 varchar2(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(3,3);insert into k1(f1,f2) values(4,4);commit;合并过程如下:其中“合并记录”步骤的选项:执行后,查询K1_TEST结果如下:可以看到,该结果表的BZ字段保存了更新、删除、新增的记录信息,通过条件分支即可分别对这些记录进行相应的处理。“条件”选项:小结Kettle提供了可视化的设计工具,基本上可通过拖拉配置的方式实现以上4种类型的数据同步,操作上相对较为简单。数据同步的性能与源数据库、目标数据库以及执行Kettle转换操作的主机相关,在笔者的测试环境上(源数据库和目标数据库部署在双核CPU/4G内存的PC机上、执行Kettle转换操作的主机配置为双核CPUx2/4G内存,JVM内存堆栈为256M)、最后一种类型的数据同步,15w的数据,在3分钟内可以完成。三、案例1,把89 中的ca_fwdj.tpf_txqdjb 数据同步到 99中的b
文档评论(0)