Kettle使用手册及测试案例_第1页
Kettle使用手册及测试案例_第2页
Kettle使用手册及测试案例_第3页
Kettle使用手册及测试案例_第4页
Kettle使用手册及测试案例_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、【kettle】window安装与配置1、下载kettle包,并解压2、安装jdk,并配置java环境a).打开我的电脑-属性-高级-环境变量b).新建系统变量JAVA_HOME和CLASSPATH变量名:JAVA_HOME变量值:C:Program FilesJavajdk1.7.0具体路径以自己本机安装目录为准变量名:CLASSPATH变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号

2、和已有的路径进行分隔。变量名:Path变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin;3、配置kettle环境在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:kettledata-integration4、启动spoonWindows直接双击批处理文件 Spoon.bat具体路径为:kettledata-integrationSpoon.batLinux 则是执行spoon.sh,具体路径为: /kettle/data-integration/spoon.sh二、 使用Kettle同步数据同步数据常见的应用场景包括以下4

3、个种类型:Ø 只增加、无更新、无删除Ø 只更新、无增加、无删除Ø 增加+更新、无删除Ø 增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。2) 基表不存在更新字段。通过“插入/更新”步骤进行插入。插入/更新步骤选项:只更新、无增加、无删除通过“更新”步骤进行更新。更新选项:增加+更新、无删除通过“插入/更新”步骤进行插入。区别是“插入/更新步骤”中的选项,去掉“不执行任何更新”的勾选:增加+更新+删除这种数

4、据同步情况,可细分为以下2种情况:1) 源库有表保存删除、更新和新增的信息。通过条件判断,分别进行“插入/更新”和“删除”即可,如下图所示。2) 源库没有保存增删改信息Kettle提供了一种对比增量更新的机制处理这种情况,可通过“合并记录”步骤实现,该步骤的输入是新旧两个数据源,通过关键字进行数据值比对,对比结果分为以下4种类型:“Identical”: 关键字在新旧数据源中都存在,域值相同“changed”: 关键字在新旧数据源中都存在,但域值不同“new”: 旧数据源中没有找到关键字“deleted”: 新数据源中没有找到关键字两个数据源的数据都进入下一步骤,上述4种结果类型作为输出表的标

5、志字段进行保存。以下为示例:Ø 源数据库测试脚本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 (

6、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;合并过程如下:其中“合并记录”步骤的选项:执行后,查

7、询K1_TEST结果如下:可以看到,该结果表的BZ字段保存了更新、删除、新增的记录信息,通过条件分支即可分别对这些记录进行相应的处理。“条件”选项:小结Kettle提供了可视化的设计工具,基本上可通过拖拉配置的方式实现以上4种类型的数据同步,操作上相对较为简单。数据同步的性能与源数据库、目标数据库以及执行Kettle转换操作的主机相关,在笔者的测试环境上(源数据库和目标数据库部署在双核CPU/4G内存的PC机上、执行Kettle转换操作的主机配置为双核CPUx2/4G内存,JVM内存堆栈为256M)、最后一种类型的数据同步,15w的数据,在3分钟内可以完成。三、案例1,把172.17.100.

8、189 中的ca_fwdj.tpf_txqdjb 数据同步到 172.1中的bank.tpf_txqdjb中。 6w级数据2,把172.17.100.189 中的ca_fwdj.tpf_jcdjb 数据同步到 172.1中的bank.tpf_jcdjb中。 14w级数据3,连接异构数据库,读取MySql数据保存到Oracle数据库中;如果数据转换过程中有异常,可以记录异常信息(可以记录到文件或者数据中,通过二次开发,可以实时以短信的形式提醒)4,异常日志:备注:表输入支持SQL读取数据,支持多表查询。四、【kettle】JDBC连接oracle报找不到驱动初次接触kettle,环境都配置好以后

9、,启动kettle的spoon,新建作业,配置jdbc的oracle数据源连接,报找不到驱动。解决办法:1、下载OJDBC14.jar包2、将该包拷贝到kettle的 kettlepdi-ce-5.0.1.A-stabledata-integrationlibswt或者kettlepdi-ce-5.0.1.A-stabledata-integrationlib 路径下都可以。3、重启kettle,重新配置数据源连接。问题解五、【kettle】JDBC连接mysql报找不到驱动初次接触kettle,环境都配置好以后,启动kettle的spoon,新建作业,配置jdbc的oracle数据源连接,报找不到驱动。解决办法:1、下载myr包2、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论