第十一章 kettle技术手册.doc

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kettle 技术手册 Etl 介绍 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于 金融IT 来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种 etl工具的使用,必不可少。 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高 效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针 对数据的基础转换,job则完成整个工作流的控制。 kettle 部署运行 将kettle2.5.1文件夹拷贝到本地路径,例如D 盘根目录。 双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面: 稍等几秒 选择没有资源库,打开kettle主界面 创建transformation,job 点击页面左上角的创建一个新的transformation,点击保存到本地路 径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr 点击页面左上角的创建一个新的job,点击保存到本地路径,例如保 存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb 创建数据库连接 在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行 数据库连接配置。 connection name自命名连接名称 Connection type选择需要连接的数据库 Method of access选择连接类型 Server host name写入数据库服务器的ip地址 Database name写入数据库名 Port number写入端口号 Username写入用户名 Password写入密码 例如如下配置: 点击【test】,如果出现如下提示则说明配置成功 点击关闭,再点击确定保存数据库连接。 一个简单的ktr 例子 目的: 将一个数据库导入到另一个数据库中。 操作步骤: 创建一个transformation,命名为etlTestTrans.ktr,创建数据库连接 ods,点击【Input】,选中【表输入】,拖到主窗口,释放鼠标,双击打 开 如下图 点击【Transform】,选中【字段选择】,拖到主窗口,释放鼠标 点击【Output】,选中【表输出】,拖到主窗口,释放鼠标 建立【文本文件输入】和【字段选择】与【字段选择】和【表输出】的连接 双击【表输出】,目标表中写入ZT_TEST_KETTLE,,确定保存 双击【字段选择】,点击 获取选择的字段,再点击Edlt Mapping,点击OK 确定,编辑所有字段对应关系,点确定。 点击运行这个转换。,则将上一个ktr中生成的文本,导入到数据库当中。 一个简单的kjb例子 目的: 将上一个transformation在一个job里面调用执行。 操作步骤: 在etlTestJob页面,点击【Core Objects】,点击【Job entries】,选中【START】 拖动到主窗口释放鼠标,再选中【Transformation】,拖动到主窗口释放鼠标, 建立【START】和【Transformation】之间的连接。 双击【Transformation 】, 在Transformation filename 中写入 E:\kettleWorkspace\etlTestTrans.ktr,确定保存。 点击保存创建好的job。 点击运行这个转换。 待所有任务都显示成功,则为job调用transformation运行成功。 一个增量的例子 增量更新按照数据种类的不同大概可以分成: 1.?只增加,不更新, 2.?只更新,不增加 3.?即增加也更新 4.?有删除,有增加,有更新 下面针对前三种做一个增量的ETL抽取。过程如下: 根据前面讲解的例子一样,首先建立源表(fina_test1)和目标表(fina_test2),整个设计流程如下: 其中第一个步骤(输入-目标表)的sql 大概如下模式: select ifnull(max(date_seal),1900-01-01 00:00:00) from fina_test2 你会注意到第二个步骤和第一个步骤的连接是黄色的线,这是因为第二个table input(输入-源表)步骤把前面一个步骤的输出当作一个参数来用,所有Kettle用黄色的线来表示,第二个table input(输入-源表) 的sql 模式大概如下: SELECT * FROM fina_test1 where date_seal? 后面的一个问号就是表示它需要接受一个参数,你在这个ta

文档评论(0)

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

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

1亿VIP精品文档

相关文档