ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:870.69KB ,
资源ID:9853591      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9853591.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Kettle开发使用手册.docx)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Kettle开发使用手册.docx

1、 Kettle开发使用手册 25 2020年4月19日 文档仅供参考

2、

3、 Kettle开发使用手册 4月

4、

5、

6、

7、 版本历史说明 版本 作者 日期 备注 1.0 彭伟峰 .04.11 1. Kettle介绍 1.1. 什么是Kettle Kettle是纯Java编写的、免费开源的ETL工具,主要用于抽取(Extract

8、ion)、转换(Transformation)、和装载(Loading)数据。Kettle中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。在这种思想的设计下,Kettle广泛用于不同数据库之间的数据抽取,例如Mysql数据库的数据传到Oracle,Oracle数据库的数据传到Greenplum数据库。 1.2. Kettle的安装 Kettle工具是不需要安装的,直接网上下载解压就能够运行了。不过它依赖于Java,需要本地有JDK环境,如果是安装4.2或5.4版本,JDK需要1.5以上的版本,推荐1.6或1.7的JDK。 运行Ke

9、ttle直接双击里面的批处理文件spoon.bat就行了,如图1.1所示: 图1.1 2. Kettle脚本开发 2.1. 建立资源库(repository仓库) Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理kettle文件也是用Repository仓库,因此我们这边本地的kettle开发环境也是要用到该资源库。建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示: 图2.1

10、 跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述能够任意写,如图2.2所示: 图2.2 建完后会kettle工具会自动连接到repository资源库,每次打开kettle也会弹出一个窗口让你先连接到资源库。在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。注意你在资源库建的目录结构要跟数据交换平台的目录结构一致,这样写好kettle脚本,保存后放的路径能跟交换平台的目录结构一致了。 图2.3 2.2. 在目标数据库里新建表 在做数据迁移的时候我们需要先在目标数据库建立与源数据

11、库类似的表结构,才能在这两张表之间做数据迁移,以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,

12、 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

13、 TIMESTAMP(6), XG_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的一样,有些不同。相同的就不用改了,不同的就改下。以上面的数据类型为例,相同的有ch

14、ar、date、timestamp,不同的是varchar2和number,因此,varchar2(n)要改成varchar(n),number(n)要改成integer(注意不带数字长度n)。建完之后,我们就能够在这不同数据库的两张表之间进行数据迁移或数据定时传输。 2.3. 源数据库和目标数据库的jndi设置 Jndi是kettle连接数据库的配置文件,相当于oracle的tns。Jndi设置的目录是在kettle目录下的simple-jndi文件夹里,打开后编辑jdbc.properties来设置jndi,下面附上公司揭阳涉税项目oracle 到gp数据库的jndi设置,分别是源端o

15、racle数据库和目标端gp数据库。配置信息的斜杠左边是jndi名,这里jndi的命名规则是数据库名_用户名,注意本地的jndi名要跟交换平台的jndi名一致。 配置信息的斜杠右边分别是数据库类型、驱动、数据库地址、用户名和密码。注意,相同数据库配置写法相同,不同数据库的配置写法略有不同,像下面的oracle和gp数据库的driver和url地址写法就不一样。 oracle_db_mhpt/type=javax.sql.DataSource oracle_db_mhpt/driver=oracle.jdbc.driver.OracleDriver oracle_db_mhpt/ur

16、l=jdbc:oracle:thin:@172.16.11.91:1521:zrmhdb oracle_db_mhpt/user=db_mhpt oracle_db_mhpt/password=DB_MHPT gp_public/type=javax.sql.DataSource gp_public/driver=org.postgresql.Driver gp_public/url=jdbc:postgresql://172.16.11.165:5432/postgres gp_public/database=8 gp_public/user=gpadmin gp_pub

17、lic/password=gpadmin 2.4. 写kettle脚本 Kettle脚本有两种,ktr脚本跟kjb脚本,其中ktr负责执行,具体要做什么由ktr来负责;kjb负责调度,调用一个或多个ktr。Ktr和kjb的关系类似于像员工和领导之间,员工负责具体的事务操作,领导负责计划安排工作。新建ktr脚本能够点击左上角的文件 --> 新建 --> 转换,新建kjb脚本就文件 --> 新建 --> 作业。我们这里传输数据只要用到kjb脚本,一张表的数据传输要有1个脚本。 首先先新建一个ktr文件,如图2.4所示,跟着我们按照主界面的提示拖动主键来操作。拖动组件在核心对象的组件库

18、里。 图2.4 跟着我们需要4个组件,分别是获取变量、表输入、字符串操作、插入/更新,先从组件库里找到这些组件然后拖动到右边面板上,查找组件能够用组件名称来在组建的搜索框里搜索。拖动后如图2.5所示。 图2.5 然后给她们组件之间建立连接,用拉箭头来连接即可,如图2.6所示: 图2.6 组件之间连接完之后,跟着双击组件一个个编辑。第一步是获取变量,在获取变量前首先要设置入参用来获取变量,设置变量先双击主对象树的ktr名(转换1是未保存文件到本地的默认名),跟着设置命名参数。如图2.7跟2.8所示。其中start_timestamp和end_timesta

19、mp这两个是数据交换平台服务器上默认的用于增量抽取数据的两个入参,分别表示数据开始时间跟数据结束时间。这里填上了默认值方便测试。 图2.7 图2.8 设置入参后再编辑获取变量的组件,这里名称跟入参一样,kettle变量名的写法是${Variables},类型我们选择string,因为服务器上交换平台传进来的start_timestamp和end_timestamp参数也是string类型的,我们这里跟它一致。也如图2.9所示: 图2.9 第二步是表输入,首先要先连接数据库,之前我们在本地文件上配置

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

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

22、用来查询的关键字选择主键的字段,而更新字段是全部,点击获取字段即可。她这里操作的原理是:如果目标表有符合该查询的条件的记录时,那么更新此条数据;不符合时,那么将源表的此条数据插入到目标表。 图2.14 这四个步骤编辑完成后最后就是执行这四个步骤了,点击左上角的运行图标,设置时间参数或者时间参数按照默认值,运行后,如果全部组件都有绿色勾勾的标志的话说明全部运行成功,如下图所示。如果某一个步骤失败的话就是红色勾勾的标志,这时候就要看日志或者步骤度量来分析了。从下面的步骤度量看表输入有1条数据输入进来,插入/更新步骤有1条数据写进去了。 图2.15

23、

24、 3. 在数据交换平台设置定时任务 以公司这边的数据交换平台为例(:9001/WebContent admin/admin),如果交换平台的jndi设置没有设置的话,那么要首先设置这样跑kettle脚本的话才能连到数据库,注意本地kettle的jndi名要跟交换平台的jndi名一致,需要统一命名。 图3.1 跟着将脚本放上服务器

25、能够在页面上上传文件到服务器。 图3.2 上传好后,需要先跑一回脚本跑成功才能设置定时调度,因此我们先运行一次。注意数据的起始时间(start_timestamp)默认是1970年,首次运行能够改下。数据的结束时间(end_timestamp)是当前的时间点。 图3.3 运行成功后,跟着再设定时任务,按要求设置调度频率。 图3.4 最后再经过运行日志监控调度的情况。如果失败的话,能够点击“查看”看运行详情,里面的“再次运行”能够重跑数据。运行详情最右侧的“查看”能够看日志信息,万一数据跑失败能够经过日志来分析情况。 图3.5

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服