




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Kettle开发使用手册4月版本历史说明版本作者日期备注1.0彭伟峰.04.11
Kettle介绍什么是KettleKettle是纯Java编写、无偿开源ETL工具,关键用于抽取(Extraction)、转换(Transformation)、和装载(Loading)数据。Kettle汉字名称叫水壶,该项目标主程序员MATT期望把多种数据放到一个壶里,然后以一个指定格式流出。在这种思想设计下,Kettle广泛用于不一样数据库之间数据抽取,比如Mysql数据库数据传到Oracle,Oracle数据库数据传到Greenplum数据库。Kettle安装Kettle工具是不需要安装,直接网上下载解压就能够运行了。不过它依靠于Java,需要当地有JDK环境,假如是安装4.2或5.4版本,JDK需要1.5以上版本,推荐1.6或1.7JDK。运行Kettle直接双击里面批处理文件spoon.bat就行了,图1.1所表示:图1.1Kettle脚本开发建立资源库(repository仓库)Repository仓库是用来存放全部kettle文件文件系统,因为数据交换平台服务器管理kettle文件也是用Repository仓库,所以我们这边当地kettle开发环境也是要用到该资源库。建立资源库方法是工具-->资源库-->连接资源库,这时候弹出一个窗口,我们点击右上角“+”号,跟着点击下面kettlefilerepository选项,按确定,图2.1所表示:图2.1跟着在右上角选择一个目录,提议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述能够任意写,图2.2所表示:图2.2建完后会kettle工具会自动连接到repository资源库,每次打开kettle也会弹出一个窗口让你先连接到资源库。在连接到资源库情况下打开文件就是资源库所在目录了,图2.3所表示。注意你在资源库建目录结构要跟数据交换平台目录结构一致,这么写好kettle脚本,保留后放路径能跟交换平台目录结构一致了。图2.3在目标数据库里新建表在做数据迁移时候我们需要先在目标数据库建立和源数据库类似表结构,才能在这两张表之间做数据迁移,以oracle数据库到gp数据库,T_SF_DWJFDJXX_TEST表做数据迁移为例,我们先建类似表结构,首先先把表结构代码拷出来:createtableT_SF_DWJFDJXX_TEST(NSRNBMNUMBER(10)notnull,DWSBHVARCHAR2(18)notnull,JFDWNBMNUMBER(10)notnull,HYFL_DMCHAR(1)notnull,JFDWLX_DMCHAR(3)notnull,SBJC_DMCHAR(2)notnull,SBGLJG_DMVARCHAR2(11)notnull,SWGLJG_DMVARCHAR2(11)notnull,SBDJ_ZTCHAR(2)notnull,DJSLRY_DMVARCHAR2(11),DJSL_RQDATE,LRRY_DMVARCHAR2(11),XGRY_DMVARCHAR2(11),DJ_RQDATE,DJJG_DMVARCHAR2(11),LR_SJTIMESTAMP(6),XG_SJTIMESTAMP(6),ZDFY_BJCHAR(1),XMMCVARCHAR2(100),KNQYBZ_DMCHAR(1),ZDYCKJN_BJCHAR(1),SJJHPT_SJTIMESTAMP(6),SJJHPT_DZNUMBER(14));跟着在这个表结构基础上,在目标数据库创建新表。需要注意是,gp数据库数据类型有些跟oracle一样,有些不一样。相同就不用改了,不一样就改下。以上面数据类型为例,相同有char、date、timestamp,不一样是varchar2和number,所以,varchar2(n)要改成varchar(n),number(n)要改成integer(注意不带数字长度n)。建完以后,我们就能够在这不一样数据库两张表之间进行数据迁移或数据定时传输。源数据库和目标数据库jndi设置Jndi是kettle连接数据库配置文件,相当于oracletns。Jndi设置目录是在kettle目录下simple-jndi文件夹里,打开后编辑perties来设置jndi,下面附上企业揭阳涉税项目oracle到gp数据库jndi设置,分别是源端oracle数据库和目标端gp数据库。配置信息斜杠左边是jndi名,这里jndi命名规则是数据库名_用户名,注意当地jndi名要跟交换平台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:@1:1521:zrmhdboracle_db_mhpt/user=db_mhptoracle_db_mhpt/password=DB_MHPTgp_public/type=javax.sql.DataSourcegp_public/driver=org.postgresql.Drivergp_public/url=jdbc:postgresql://65:5432/postgresgp_public/database=8gp_public/user=gpadmingp_public/password=gpadmin写kettle脚本Kettle脚本有两种,ktr脚本跟kjb脚本,其中ktr负责实施,具体要做什么由ktr来负责;kjb负责调度,调用一个或多个ktr。Ktr和kjb关系类似于像职员和领导之间,职员负责具体事务操作,领导负责计划安排工作。新建ktr脚本能够点击左上角文件-->新建-->转换,新建kjb脚本就文件-->新建-->作业。我们这里传输数据只要用到kjb脚本,一张表数据传输要有1个脚本。首先先新建一个ktr文件,图2.4所表示,跟着我们根据主界面提醒拖动主键来操作。拖动组件在关键对象组件库里。图2.4跟着我们需要4个组件,分别是获取变量、表输入、字符串操作、插入/更新,先从组件库里找到这些组件然后拖动到右边面板上,查找组件能够用组件名称来在组建搜索框里搜索。拖动后图2.5所表示。图2.5然后给她们组件之间建立连接,用拉箭头来连接即可,图2.6所表示:图2.6组件之间连接完以后,跟着双击组件一个个编辑。第一步是获取变量,在获取变量前首先要设置入参用来获取变量,设置变量先双击主对象树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第二步是表输入,首先要先连接数据库,之前我们在当地文件上配置了jndi,这里jndi就用得上。新建或编辑数据库连接,选择好连接数据库,还有jndi连接方法,再填上jndi名称和连接名称,设置完了就点击左下角测试来测试当地能不能连上数据库。连上了我们才做其它步骤。图2.10连通好后,写好sql语句。这里sql语句用到变量,kettle变量写法是${variables},而使用变量要在左右两端再加上单引号,变成’${variables}’。注意数据库后台日期类型是date,而变量是字符串类型,所以需要做个变量类型转换。因为有使用变量,所以需要勾上“替换sql语句里变量”单选框。设置好后能够预览下数据看下。图2.11第三步是字段去除左右空格,编辑“字符串操作”,点getfields获取从上个步骤表表输入获取字段名,然后把trimtype全部选择both,意思是去除字段左右两端空格。假如getfields得到字段有start_timestamp和end_timestamp这两个,这两个多出,就删去。以下图所表示:图2.12第四步是插入数据到目标端新表,首先是要先连通目标端数据库。设置好后再点击“测试”连通到目标端数据库。图2.13跟着是设置目标表(目标模式能够不填),点击浏览选择模式/用户下数据库表。然后设置每插入多少条数据提交提交统计数量,用来查询关键字选择主键字段,而更新字段是全部,点击获取字段即可。她这里操作原理是:假如目标表有符合该查询条件统计时,那么更新此条数据;不符合时,那么将源表此条数据插入到目标表。图2.14这四个步骤编辑完成后最终就是实施这四个步骤了,点击左上角运行图标,设置时间参数或时间参数根据默认值,运行后,假如全部组件全部有绿色勾勾标志话说明全部运行成功,以下图所表示。假如某一个步骤失败话就是红色勾勾标志,这时候就要看日志或步骤度量来分析了。从下面步骤度量看表输入有1条数据输入进来,插入/更新步骤有1条数据写进去了。图2.15
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西中文专业素养试题及答案
- 检查员招聘岗位面试题及答案
- 2025年老年护理师职业考试题及答案
- java面试题及答案事务2025年
- 北京携宁科技java面试题及答案
- 福州兴业java面试题及答案
- 关键考点软件设计师考试试题及答案
- 药学专业知识与药品管理实践题库
- 经济学微观经济学概念与运用试题集
- 软件设计师考试实践试题及答案汇综
- 2024年湖南出版中南传媒招聘笔试真题
- 【初中地理】七年级地理下册全册期末总复习(课件)-2024-2025学年七年级地理课件(人教版2024年)
- 办公楼安全培训
- JT∕T 402-2016 公路货运站站级标准及建设要求
- 林芝工布书画院建筑及景观工程项目
- QC提高老年患者静脉留置针一次穿刺成功率
- GB/T 7233.1-2009铸钢件超声检测第1部分:一般用途铸钢件
- GB/T 545-1996海军锚
- GB/T 22080-2016信息技术安全技术信息安全管理体系要求
- 汤谷良全面预算整合企业管理
- iFIAE全自动多参数流动分析仪使用说明书-20201110doc
评论
0/150
提交评论