- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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-integration4、启动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机上、执
您可能关注的文档
最近下载
- u市场管理规范.doc VIP
- 癫痫病人的围术期麻醉管理.pptx VIP
- 特殊教育概论第二版全套完整教学课件.pptx
- 《银屑病的治疗》课件.ppt VIP
- 2023年下第三套广播操舞动青春全套教案.doc VIP
- 新人教版八年级上册物理全册课件(2024年秋季新版教材).pptx
- 中建七局《准代建模式EPC项目策划总结交流材料》.pptx VIP
- 2025南京卫生高等职业技术学校工作人员招聘考试真题.docx VIP
- 运动控制系统安装与调试(第2版)课件全套 甄久军 项目1--5 典型运动控制系统的认知与装调 ---伺服电动机运动控制系统的调试.pptx
- 成都高新区街道面向社会公开招聘2025年第一批次编外聘用人员笔试备考试题及答案解析.docx VIP
文档评论(0)