




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ETL工具Kettle Spoon学结Author:Creation Date: Last Updated:Ref:chen.l November 16, 2015November 16, 2015Ver:Approvals: Copy NumberControlChange RecordReviewersDistributionNote To Holders:If you receive an electronic copy of thisand prit out, please write yourname on the equivalent of the covage, forcontr
2、ol pures.If you receive a cover, forof this control pur, please write your name on the frontes.Copy No.NameLocation1Library Mastroject Library2Project Manager34NameitionDateAuthorVerChange Reference16-Nov-15LichenDraft 1aNo PreviousContentsControlii1.概述2使用背景2ETL工具简介2Kettle-Spoon安装、配置4安装4启动方式4界面介绍5转换
3、7Kettle实现方式10建立一个转换10创建定时任务(JOB)13运行、验证16数据16更新数据......Open and Closed Ies for this Deliverable23Open Ies23Closed Ies231.概述1.1.使用背景项目上每天都需要从Oracle系统中的数据同步到其他系统中,由于客户的特殊需求DB-link和WebService的方式都是不允许使用的,其中的原因很多,有安全性,后期的等等问题。最后通过查找网上的相关资料,找到了一种开源的ETL工具,可以实现数据的
4、推送,同时也是由JAVA编写的,可以安装到Oracle1服务器上面自动运行。现在把一些安装、配置、和推送等相关的内容做一个小结。1.2.ETL工具简介ETL,是英文 Extract-Transform-Load 的缩写,将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。KettleKettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
5、。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle 里有转换(Transformation)和 作业(Job)两个概念。转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step),每个步骤就是一种数据处理方式,如表输入,文件输入,排序,分组,
6、过滤,选择列,拆分列,增加列等等。Kettle 内置了数十种步骤,另外还可以通过插件的方式由用户自定义自己需要的步骤。作业是比转换更高一级的处理流程,一个作业里包括多个作业项(JobEntry),一个作业项代表了一项工作, 常用的作业发送邮件, 接收邮件,执行 s, FTP 等等。转换也是作业项之一,即一个作业里可以包括多个转换。一个作业项也可以是其他的一个作业,即作业可以嵌套。作业项也可以通过插件的方式由用户自定义。转换和作业的设计都是通过 spoon 来完成的,spoon 就是 kettle 的图形界面设计器。设计好的作业可以保存在文件(转换文件以 .ktr 为扩展名,作业文件以 .kjb
7、为扩展名)里,也可以保存在数据库()里。设计好的作业可以使用 kitchen 来执行,设计好的转换使用来 pan 执行。Kettle 可以使用本地机器来执行作业(Native Exec),也可以使用机器来执行作业(Remote Exec),也可以使用多个机器以集群的方式共同执行一个作业2.Kettle-Spoon安装、配置2.1.安装和中文社区均可以源代码地址:svn:/source.pentaho./svnkettleroot/Kettle/trunkBug地址:http:/browse/PDI: 中文:运行环境Kettle 需要 JRE1.5.0 以上的运行环境,可以运行在windows
8、和Linux下。2.2.启动方式Kettle 需要 JRE1.5.0 以上的运行环境,可以运行在windows 和Linux下。Kettle 包括的几个子程序的功能和启动方式如下:WindowsSpoon.bat: 图形界面方式启动作业和转换设计器。Pan.bat: 命令行方式执行转换。Kitchen.bat: 命令行方式执行作业。Carte.bat: 启动 web 服务,用于 Kettle 的运行或集群运行。Encr.bat:加密Linuxspoon.sh 图形界面方式启动pan.sh: 命令行方式执行转换。kitchen.sh: 命令行方式执行作业。carte.sh: 启动web 服务,用
9、来运行或集群运行。encr.sh:加密。说明:1. 启动时如果发生ClaotFoundException 请使用 java ver检查 jre 的版本是否是 1.5 及以上。2. 使用机器上启动Carte。执行时,要在3. 使用集群方式运行时,在集群里的每个机器上都启动Carte。jar cvf hand.jar com到安装目录下双击Spoon.bat文件打开图形界面2.3.界面介绍界面如上图所示Kettle提供了非常多的对象,这里只用到了转换和任务2.4.转换一个转换任务里包括多个步骤和注释,步骤基本可以分为三类,输入步骤、输出步骤、转换步骤。输入步骤:在该步骤里指定数据来源,如果是表输入
10、要指定JDBC 连接参数,表名等信息,如果是文件输入,要指定文件名,分隔符等参数。转换步骤:转换步骤用于数据的转换,常见的转换步骤包括:选择列、行过滤、增加常量,增加序列、排序、分组、集连接(左连接/右连接/内连接/外连接)、增加变量、拆分列、行转列、列转行、扁平化、值等输出步骤:指定数据最终流向的目的地。步骤扩展:系统提供了用户开发插件的接口,当现有的步骤不能满足需求时,用户可以根据具体的需求自己开发步骤,以插件的方式结成到系统中。系统的主操作界面分为基本步骤功能选择区、历史步骤区和主设计界面区,通过鼠标拖拽进行步骤设定。转换常用环节介绍任务常用环节介绍类别环节名称功能说明Input文本文件
11、输入从本地文本文件输入数据表输入从数据库表中输入数据获取系统信息系统信息输入数据Output文本文件输出将处理结果输出到文本文件表输出将处理结果输出到数据库表/更新根据处理结果对数据库表机型更新,如果数据库中不存在相关记录则,否则为更新。会根据查询条件中字段进行判断更新根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无,则会报错停止删除根据处理结果对数据库进行删除,若需要删除的数据在数据库表中无,则会报错停止Lookup数据库查询根据设定的查询条件,对目标表进行查询,返回需要的结果字段流查询将目标表到内存,通过查询条件对内存中数据集进行查询调用 DB过程调用数据库过程Transfor
12、m字段选择选择需要的字段,过滤掉不要的字段,也可做数据库字段对应过滤根据条件对进行分类排序将数据根据某以条件,进行排序空操作无操作增加常量增加需要的常量字段ScriptingModified Java Script Value扩展功能,编写 JavaScript,对数据进行相应处理Map(子转换)数据JobSat Variables设置环境变量Get Variables获取环境变量类别环节名称功能说明Job entriesSTART开始DUMMY结束TransformationTransformation 流程JobJob 流程S调用 SSQL执行 sql 语句FTP通过 FTPTable e
13、xists检查目标表是否存在,返回布尔值File exists检查文件是否存在,返回布尔值Javascript执行 JavaScriptCreate file创建文件Delete file删除文件Wait for file等待文件,文件出现后继续下一个环节File Compare文件比较,返回布尔值Wait for等待时间,设定一段时间,kettle 流程处于等待状态Zip file压缩文件为 ZIP 包3.Kettle实现方式实现概述:数据库A的A表同步到数据库B的B表实现流程:建立一个装换和一个作业JOB3.1.建立一个转换点击文件新建转换创建DB连接分别有两个数据库A(EBSPROD)和
14、B(MIDDEV)建立步骤和步骤关系点击后,对象,从步骤树中选择【表输入】,如下图,这样拖拽一个表输入之双击表输入之后,自己可以随意写一个sql语句,这个语句表示可以在这个库中随意组合,只要sql语句没有错误即可之后会在这个sql加where条件控制数据量创建另外一个步骤【/ 更新】在【表输入】上同时按住shift键和鼠标左键滑向【/ 更新】,这样建立两个步骤之间的连接,【/ 更新】执行的逻辑是如果UserA表中的在UserB中不存在那么就,如果存在就更新,如下图,在更新中可以做一些关键条件和字段,这里是最简单的!点击保存,把建立的转换保存一下。3.2.创建定时任务(JOB)在简单表同步这个转
15、换中,把在test步骤中建立的ktl配置上,注意路径的正确性;添加一个转换,查询路径将刚才建立好的转换添加在【Start】步骤上面双击,如图:设置时间间隔这样这个作业就制定好了,点击保存之后,了!就可以在图形化界面上点击开始执行4.运行、验证将刚才建立好的转换运行,并在两个数据库的表中查询看是否产生了正确的数据验证分两种情况,新增数据和更新数据4.1.数据创建表MID(目标环境)也创建同样的表向DEV表中数据,如下:启动转换:点击开始箭头,然后点运行下边的日志框可以查看运行的结果,如下可以看到状态是已完成,错误数据为0.登录目标环境检查数据目标环境,转换前:目标环境,运行转换后:数据测试完成。
16、4.2.更新数据更新一条数据,同时增加了一条新数据,如下:启动转换:成功,可以看到更新了三条数据(其实有一条数据并没有改变),输出了一条数据查看结果转换前:转换后的结果:5.Open and Closed Ies for this DeliverableAdd open iest you identify while writing or reviewing thisto the es sectionopen ies section. As you resolve ies, move them to the closed iand keep the ie ID the same. Include an explanation of the resolution.When this deliverable is complete, any open ies should be transferred to theproject- or pros-level Risk and Ie Log (PJM.CR.040) and managed using aproject level Risk
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川工业科技学院《国际酒店管理基础中英双语》2023-2024学年第二学期期末试卷
- 贵州体育职业学院《机械产品拆装绘实训》2023-2024学年第二学期期末试卷
- 2025年广东省深圳实验、珠海一中高三下学期周练物理试题含解析
- 新疆理工学院《临床医学整合案例》2023-2024学年第一学期期末试卷
- 北京市密云县名校2025年五月适应考试物理试题含解析
- 2024-2025学年江苏苏州高新区第一中学高三(承智班)上-期中考试物理试题试卷含解析
- 2025全职经纪人合同范本
- 租赁经营地块外墙户外广告牌合同(2025年版)
- 2025BEC指导合同英语特色介绍:掌握合同条款的秘诀
- Unit 3Amazing animals Part B Start to read 第6课时(教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2025年河南机电职业学院单招职业技能测试题库及答案一套
- DB32-T 339-2007中华绒螯蟹 一龄蟹种培育
- 大学生职业发展与就业指导(仁能达教育科技公司)学习通测试及答案
- 2025年境外投资融资顾问服务合同范本3篇
- 2024-2025学年人教新目标英语八年级下册期末综合检测卷(含答案)
- 331金属晶体课件高二化学人教版选择性必修2
- 矿山矿石采购合同模板
- 2024年浪潮数字企业技术有限公司社会招聘(105人)笔试核心备考题库及答案解析
- 第47届世界技能大赛江苏省选拔赛竞赛技术文件-混凝土建筑项目
- 国开2024年《数据库运维》形考1-3
- 劳动合同(模版)4篇
评论
0/150
提交评论