kettle开发使用手册.doc

上传人:F****n 文档编号:97898624 上传时间:2019-09-07 格式:DOCX 页数:19 大小:869.69KB
返回 下载 相关 举报
kettle开发使用手册.doc_第1页
第1页 / 共19页
kettle开发使用手册.doc_第2页
第2页 / 共19页
kettle开发使用手册.doc_第3页
第3页 / 共19页
kettle开发使用手册.doc_第4页
第4页 / 共19页
kettle开发使用手册.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《kettle开发使用手册.doc》由会员分享,可在线阅读,更多相关《kettle开发使用手册.doc(19页珍藏版)》请在金锄头文库上搜索。

1、 Kettle开发使用手册 Kettle开发使用手册2017年4月 版本历史说明版本作者日期备注1.0彭伟峰2017.04.111. Kettle介绍1.1. 什么是KettleKettle是纯Java编写的、免费开源的ETL工具,主要用于抽取(Extraction)、转换(Transformation)、和装载(Loading)数据。Kettle中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。在这种思想的设计下,Kettle广泛用于不同数据库之间的数据抽取,例如Mysql数据库的数据传到Oracle,Oracle数据库的数据传到Greenplu

2、m数据库。1.2. Kettle的安装 Kettle工具是不需要安装的,直接网上下载解压就可以运行了。不过它依赖于Java,需要本地有JDK环境,如果是安装4.2或5.4版本,JDK需要1.5以上的版本,推荐1.6或1.7的JDK。运行Kettle直接双击里面的批处理文件spoon.bat就行了,如图1.1所示:图1.12. Kettle脚本开发2.1. 建立资源库(repository仓库) Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理kettle文件也是用Repository仓库,因此我们这边本地的kettle开发环境也是要用到该资源库。建立

3、资源库的方式是工具 - 资源库- - 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示:图2.1 跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示:图2.2建完后会kettle工具会自动连接到repository资源库,每次打开kettle也会弹出一个窗口让你先连接到资源库。在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。注意你在资源库建的目录结构要跟数据交换平台的目录结构一致,这样

4、写好kettle脚本,保存后放的路径能跟交换平台的目录结构一致了。图2.32.2. 在目标数据库里新建表 在做数据迁移的时候我们需要先在目标数据库建立与源数据库类似的表结构,才能在这两张表之间做数据迁移,以oracle数据库到gp数据库,T_SF_DWJFDJXX_TEST表做数据迁移为例,我们先建类似的表结构,首先先把表结构的代码拷出来:create table T_SF_DWJFDJXX_TEST( NSRNBM NUMBER(10) not null, DWSBH VARCHAR2(18) not null, JFDWNBM NUMBER(10) not null, HYFL_DM CH

5、AR(1) not null, JFDWLX_DM CHAR(3) not null, SBJC_DM CHAR(2) not null, SBGLJG_DM VARCHAR2(11) not null, SWGLJG_DM VARCHAR2(11) not null, SBDJ_ZT CHAR(2) not null, DJSLRY_DM VARCHAR2(11), DJSL_RQ DATE, LRRY_DM VARCHAR2(11), XGRY_DM VARCHAR2(11), DJ_RQ DATE, DJJG_DM VARCHAR2(11), LR_SJ TIMESTAMP(6), XG

6、_SJ TIMESTAMP(6), ZDFY_BJ CHAR(1), XMMC VARCHAR2(100), KNQYBZ_DM CHAR(1), ZDYCKJN_BJ CHAR(1), SJJHPT_SJ TIMESTAMP(6), SJJHPT_DZ NUMBER(14); 跟着在这个表结构的基础上,在目标数据库创建新表。需要注意的是,gp数据库的数据类型有些跟oracle的一样,有些不同。相同的就不用改了,不同的就改下。以上面的数据类型为例,相同的有char、date、timestamp,不同的是varchar2和number,因此,varchar2(n)要改成varchar(n),nu

7、mber(n)要改成integer(注意不带数字长度n)。建完之后,我们就可以在这不同数据库的两张表之间进行数据迁移或数据定时传输。2.3. 源数据库和目标数据库的jndi设置Jndi是kettle连接数据库的配置文件,相当于oracle的tns。Jndi设置的目录是在kettle目录下的simple-jndi文件夹里,打开后编辑jdbc.properties来设置jndi,下面附上公司揭阳涉税项目oracle 到gp数据库的jndi设置,分别是源端oracle数据库和目标端gp数据库。配置信息的斜杠左边是jndi名,这里jndi的命名规则是数据库名_用户名,注意本地的jndi名要跟交换平台的

8、jndi名一致。配置信息的斜杠右边分别是数据库类型、驱动、数据库地址、用户名和密码。注意,相同数据库配置写法相同,不同数据库的配置写法略有不同,像下面的oracle和gp数据库的driver和url地址写法就不一样。oracle_db_mhpt/type=javax.sql.DataSourceoracle_db_mhpt/driver=oracle.jdbc.driver.OracleDriveroracle_db_mhpt/url=jdbc:oracle:thin:172.16.11.91:1521:zrmhdboracle_db_mhpt/user=db_mhptoracle_db_mh

9、pt/password=DB_MHPTgp_public/type=javax.sql.DataSourcegp_public/driver=org.postgresql.Drivergp_public/url=jdbc:postgresql:/172.16.11.165:5432/postgresgp_public/database=8gp_public/user=gpadmingp_public/password=gpadmin2.4. 写kettle脚本 Kettle脚本有两种,ktr脚本跟kjb脚本,其中ktr负责执行,具体要做什么由ktr来负责;kjb负责调度,调用一个或多个ktr。Ktr和kjb的关系类似于像员工和领导之间,员工负责具体的事务操作,领导负责计划安排工作。新建ktr脚本可以点击左上角的文件 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号