- 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】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-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?转换操作的主机
相关,在笔者的测试环境上(源数据库和目标数据库部署在双核?
您可能关注的文档
最近下载
- 《鹿角和鹿腿》试讲教案.docx VIP
- 检测有限公司突发环境事件风险评估报告(新).pdf
- 药物滥用医学知识培训专家讲座.pptx VIP
- 《重大决策社会稳定风险评估工作规范》DB36T 2094-2024.pdf VIP
- T_CALC 006-2024 住院糖尿病足患者人文关怀护理规范.docx VIP
- 护理查房制度.pptx VIP
- 2024年秋新改版教科版六年级上册科学全册教案教学设计(新课标版).docx VIP
- 广西壮族自治区南宁市天桃实验学校2024-2025学年部编版八年级上学期11月期中历史试题.docx VIP
- 2022年版《义务教育数学课程标准》及解读.pdf VIP
- 2025年中国酒店式公寓行业市场竞争现状及发展趋势分析报告.docx
原创力文档


文档评论(0)