kettle培训手册题材.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kettle简介: Kettle是使用Java语言开发的一个开源ETL工具(Extract--Transform--Loading),完成数据的抽取、转换、加载工作。Kettle的意思是“水壶”,把各种各样的数据倒进水壶中,经过转换、处理,以我们所需的格式输出对我们有价值的信息。 问题:为什么要用kettle? 需求:不同的数据库(同一种类型但实例不同的数据库,或者不同类型的数据库)之间、不同的数据存储形式(数据库、文本文件)之间需要协同工作,计算、处理、转换成我们需要的数据。 实际应用场景:对帐系统需要读取ATM的交易流水文件到Oracle数据库中并进行统计。 不使用kettle的情况:专门编写程序(Java或C)导入到数据库中,在Oracle中编写存储过程进行批量统计。 使用kettle的情况:通过“文本文件输入”step,指定分隔符,即可完成导入,无需编写程序;使用kettle中的各种对象可以完成统计功能,不需要编写存储过程。 两种情况??比: 情况一:需要编写专门的导入程序,不具备通用性。存储过程在不同类型的数据库中语法不同,也不具备通用性。但不需要掌握kettle。 情况二:不需要编写专门的导入程序,不同的文件格式只需要修改“文本文件输入”step中的对应参数即可。不需要针对不同的数据库编写不同版本的存储过程,只需要使用标准SQL就可以具备通用性。需要掌握kettle。 好处:跨数据库、跨平台,减少我们的工作量。 Kettle中有两种类型的对象,分别对应两种类型的文件。一种是Transformation(以后简称Trans),即转换;一种是Job,即工作。Trans完成具体的任务,Job用于控制转换之间的执行顺序。 第一部分:与数据库打交道 1创建数据库连接 1新建一个Transformation,在“DB连接”下创建一个“数据库连接”,如下图所示:  HYPERLINK about:blank 2如果创建kettle不支持的数据库的连接,ConnectionType选择Generic database。  HYPERLINK about:blank 2共享连接可以在不同的Transformation中共享,可以减少数据库配置工作。 右键单击需要共享的连接,选择“Share”选项,如下图所示:  HYPERLINK about:blank 3用变量保存参数,在不同的环境下切换时会省心省力。 设置环境变量(编辑--设置环境变量,Ctrl+Alt+J),如下图所示:  HYPERLINK about:blank 在需要使用变量的地方通过${变量名}读取,参考“创建数据库连接”。 4从数据库中读取数据。(加工数据需要先读取数据) 1不带参数读取数据。 表输入(table Input),获取SQL查询语句,针对数据表的各种Actions。 HYPERLINK about:blank 2带参数读取数据。 两种参数方式: 第一种:占位符(?) 规则:关键字(例如:table、index),标识符(表名、索引名)不能通过这种占位符(?)参数传递。  HYPERLINK about:blank可以这样传递参数,但所有的参数类型必须一样。  HYPERLINK about:blank这样传递参数时,参数类型可以不同。 例子为:  HYPERLINK about:blank 注意:带参数查询在“表输入”中有时不能预览,需要运行转换去验证是否正确。 执行多次SQL语句,但条件取值不同,例如如下条件:  HYPERLINK about:blank 第二种:用变量名,例如:${ORDER_COLUMN}。 关键字(例如:table、index),标识符,整条SQL 语句都可以用变量替换,但使用时要小心。 在运行时才确定SQL语句: 设置环境变量(Ctrl+Alt+J),输入ORDER_COLUMN及其值,如下:  HYPERLINK about:blank 定义一个“表输入”,在“SQL”中输入带参数的SQL语句如下:  HYPERLINK about:blank ${ORDER_COLUMN}就是刚才设定的环变量。 选中“替换SQL语句里的变量”复选框。 相当于执行SELECT I_USERID, C_USERLOGINNAME, C_USERLOGINPWD, C_USERNAME, I_POSITIONID, D_CREATETIME, D_LASTLOGINTIME, I_LOGINCOUNT, I_ENABLED, C_MEMO FROM SYS_USER ORDER BY i_userid 注意:这里只替换环境变量,不替换占位符变量(?)。 定义输

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档