收藏 分销(赏)

Kettle开发使用基础手册.docx

上传人:精**** 文档编号:2885952 上传时间:2024-06-08 格式:DOCX 页数:19 大小:865.52KB
下载 相关 举报
Kettle开发使用基础手册.docx_第1页
第1页 / 共19页
Kettle开发使用基础手册.docx_第2页
第2页 / 共19页
Kettle开发使用基础手册.docx_第3页
第3页 / 共19页
Kettle开发使用基础手册.docx_第4页
第4页 / 共19页
Kettle开发使用基础手册.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、 Kettle开发使用手册4月 版本历史说明版本作者日期备注1.0彭伟峰.04.111. Kettle介绍1.1. 什么是KettleKettle是纯Java编写、无偿开源ETL工具,关键用于抽取(Extraction)、转换(Transformation)、和装载(Loading)数据。Kettle汉字名称叫水壶,该项目标主程序员MATT 期望把多种数据放到一个壶里,然后以一个指定格式流出。在这种思想设计下,Kettle广泛用于不一样数据库之间数据抽取,比如Mysql数据库数据传到Oracle,Oracle数据库数据传到Greenplum数据库。1.2. Kettle安装 Kettle工具是

2、不需要安装,直接网上下载解压就能够运行了。不过它依靠于Java,需要当地有JDK环境,假如是安装4.2或5.4版本,JDK需要1.5以上版本,推荐1.6或1.7JDK。运行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所表示。注意你在资源库建目录结构要跟数据交换平台目录结构一致,这么写好kettle脚本,保留后放路径能跟交换平台目录结构一致了。图2.32.2. 在

4、目标数据库里新建表 在做数据迁移时候我们需要先在目标数据库建立和源数据库类似表结构,才能在这两张表之间做数据迁移,以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 CHAR(1) not null, JFDWLX_DM CHAR(3) not null, SBJ

5、C_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_SJ TIMESTAMP(6), ZDFY_BJ CHAR(1), XMMC VARCHAR

6、2(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),number(n)要改成integer(注意不带数字长度n)。建完以后,我们就能够在这不一样数据库两张表之间进

7、行数据迁移或数据定时传输。2.3. 源数据库和目标数据库jndi设置Jndi是kettle连接数据库配置文件,相当于oracletns。Jndi设置目录是在kettle目录下simple-jndi文件夹里,打开后编辑jdbc.properties来设置jndi,下面附上企业揭阳涉税项目oracle 到gp数据库jndi设置,分别是源端oracle数据库和目标端gp数据库。配置信息斜杠左边是jndi名,这里jndi命名规则是数据库名_用户名,注意当地jndi名要跟交换平台jndi名一致。配置信息斜杠右边分别是数据库类型、驱动、数据库地址、用户名和密码。注意,相同数据库配置写法相同,不一样数据库配

8、置写法略有不一样,像下面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_mhpt/password=DB_MHPTgp_public/type=javax.sql.DataSourcegp_public/d

9、river=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脚本能够点击左上角文件 - 新建

10、- 转换,新建kjb脚本就文件 - 新建 - 作业。我们这里传输数据只要用到kjb脚本,一张表数据传输要有1个脚本。首先先新建一个ktr文件,图2.4所表示,跟着我们根据主界面提醒拖动主键来操作。拖动组件在关键对象组件库里。图2.4 跟着我们需要4个组件,分别是获取变量、表输入、字符串操作、插入/更新,先从组件库里找到这些组件然后拖动到右边面板上,查找组件能够用组件名称来在组建搜索框里搜索。拖动后图2.5所表示。图2.5然后给她们组件之间建立连接,用拉箭头来连接即可,图2.6所表示:图2.6组件之间连接完以后,跟着双击组件一个个编辑。第一步是获取变量,在获取变量前首先要设置入参用来获取变量,设

11、置变量先双击主对象树ktr名(转换1是未保留文件到当地默认名),跟着设置命名参数。图2.7跟2.8所表示。其中start_timestamp和end_timestamp这两个是数据交换平台服务器上默认用于增量抽取数据两个入参,分别表示数据开始时间跟数据结束时间。这里填上了默认值方便测试。 图2.7 图2.8 设置入参后再编辑获取变量组件,这里名称跟入参一样,kettle变量名写法是$Variables,类型我们选择string,因为服务器上交换平台传进来start_timestamp和end_timestamp参数也是string类型,我们这里跟它一致。也图2.9所表示:图2.9第二步是表输入

12、,首先要先连接数据库,之前我们在当地文件上配置了jndi,这里jndi就用得上。新建或编辑数据库连接,选择好连接数据库,还有jndi连接方法,再填上jndi名称和连接名称,设置完了就点击左下角测试来测试当地能不能连上数据库。连上了我们才做其它步骤。图2.10 连通好后,写好sql语句。这里sql语句用到变量,kettle变量写法是$variables,而使用变量要在左右两端再加上单引号,变成 $variables 。注意数据库后台日期类型是date,而变量是字符串类型,所以需要做个变量类型转换。因为有使用变量,所以需要勾上“替换sql语句里变量”单选框。设置好后能够预览下数据看下。图2.11

13、第三步是字段去除左右空格,编辑“字符串操作”,点get fields获取从上个步骤表表输入获取字段名,然后把trim type全部选择both,意思是去除字段左右两端空格。假如get fields得到字段有start_timestamp和end_timestamp这两个,这两个多出,就删去。以下图所表示:图2.12 第四步是插入数据到目标端新表,首先是要先连通目标端数据库。设置好后再点击“测试”连通到目标端数据库。图2.13跟着是设置目标表(目标模式能够不填),点击浏览选择模式/用户下数据库表。然后设置每插入多少条数据提交提交统计数量,用来查询关键字选择主键字段,而更新字段是全部,点击获取字段

14、即可。她这里操作原理是:假如目标表有符合该查询条件统计时,那么更新此条数据;不符合时,那么将源表此条数据插入到目标表。图2.14这四个步骤编辑完成后最终就是实施这四个步骤了,点击左上角运行图标,设置时间参数或时间参数根据默认值,运行后,假如全部组件全部有绿色勾勾标志话说明全部运行成功,以下图所表示。假如某一个步骤失败话就是红色勾勾标志,这时候就要看日志或步骤度量来分析了。从下面步骤度量看表输入有1条数据输入进来,插入/更新步骤有1条数据写进去了。图2.15 3. 在数据交换平台设置定时任务 以企业这边数据交换平台为例(:9001/WebContentadmin/admin),假如交换平台jnd

15、i设置没有设置话,那么要首先设置这么跑kettle脚本话才能连到数据库,注意当地kettlejndi名要跟交换平台jndi名一致,需要统一命名。图3.1跟着将脚本放上服务器,能够在页面上上传文件到服务器。图3.2上传好后,需要先跑一回脚本跑成功才能设置定时调度,所以我们先运行一次。注意数据起始时间(start_timestamp)默认是1970年,首次运行能够改下。数据结束时间(end_timestamp)是目前时间点。图3.3 运行成功后,跟着再设定时任务,按要求设置调度频率。图3.4 最终再经过运行日志监控调度情况。假如失败话,能够点击“查看”看运行详情,里面“再次运行”能够重跑数据。运行详情最右侧“查看”能够看日志信息,万一数据跑失败能够经过日志来分析情况。图3.5

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服