Kettle使手册及测试案例.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kettle使手册及测试案例

一、【kettle】window安装与配置 1、下载kettle包,并解压 HYPERLINK /projects/data-integration/ /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-integration 4、启动spoon Windows直接双击批处理文件 Spoon.bat具体路径为: kettle\data-integration\Spoon.bat Linux 则是执行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机上、执

文档评论(0)

hhax1 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档