Kettle 6.1安装部署及使用教程-贵在详细截图说明_第1页
Kettle 6.1安装部署及使用教程-贵在详细截图说明_第2页
Kettle 6.1安装部署及使用教程-贵在详细截图说明_第3页
Kettle 6.1安装部署及使用教程-贵在详细截图说明_第4页
Kettle 6.1安装部署及使用教程-贵在详细截图说明_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、Kettle概念Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。2、下载和部署下载kettle压缩包,因kettle为绿

2、色软件,解压缩到任意本地路径即可.下载kettle包,并解压压缩包:(这里使用的是Kettle6.1版本)解压:3、Kettle环境配置3.1安装JDK(略)3.2测试JDK安装成功(略)JDK安装步骤见Jdk1.6_win7_64安装及配置环境变量.docx强调:kettle6.1版本,必须配套使用JDK1.7及以上版本。3.3运行KettleWindows下找到$KETTLE_HOME/spoon.bat,双击运行.欢迎界面如下图所示:4、Kettle组件介绍与使用4.1 Kettle使用Kettle提供了资源库的方式来整合所有的工作,;1)创建一个新的transformation,点击保

3、存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr;2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb;4.2 组件树介绍4.2.1 Transformation的主对象树和核心对象分别如下图: Transformation中的节点介绍如下:Main Tree:菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。DB连接:显示当前transformation中的数据库连接,每一个tr

4、ansformation的数据库连接都需要单独配置。Steps:一个transformation中应用到的环节列表Hops:一个transformation中应用到的节点连接列表核心对象菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加:Input:输入环节Output:输出环节Lookup:查询环节Transform:转化环节Joins:连接环节Scripting:脚本环节4.2.2 Job的主对象树和核心对象分别如下图: Main Tree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。DB连接:显示当前Job中的数据库连接,每一

5、个Job的数据库连接都需要单独配置。Job entries/作业项目:一个Job中引用的环节列表核心对象菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。每一个环节可以通过鼠标拖动来将环节添加到主窗口中。并可通过shift+鼠标拖动,实现环节之间的连接。4.2.3 kettle的简单使用DB连接我们可以看到转换的主对象树和核心对象区域,然后我们添加一个DB连接。 选择“主对象树”,双击“转换”标签下的“DB连接”会弹出一个配置窗口。填入连接名称,选择连接类型,配置数据库设置,然后测试下配置是否正确。 由于kettle没有将所有数据库的Driver文件集成,所以如果想

6、连接指定的数据库,需要自己下载JDBC驱动,放入指定的lib目录下。添加完JDBC驱动后,必须重启kettle才能正确加载驱动(添加oracle数据库的jdbc驱动,参见6、常见问题 6.1【Kettle】JDBC连接oracle报找不到驱动)。注:在转换之前需要创建转换所需的表,原始表和转换的目标表。 点击“核心对象”标签页中的“输入”,选择“表输入”拖到“转换”区域。 双击“表输入”图标弹出表输入对话框,填入步骤名称,选择数据库连接,点击“获取SQL查询语句”,或者直接写入SQL语句,填写附件信息,点击“预览”按钮查看执行结果,没有错误,点击“确认”关闭对话框。点击“核心对象”“输出”,选

7、择“Excel输出”拖入到转换区,双击Excel输出图标,弹出对话框,选择文件名和其它附加参数,点击确认。点击输入表的图标,同时按下shift键,再点击输出文件,将两者连接起来。然后双击Excel输出进行配置。最后一步就是执行kettle脚本,点击工具栏的播放箭头即可。点击“启动”开始转换,在转换过程中会出现转换的信息,如下图所示。完成转换后,我们可以在Excel输出目录中查看转换结果。注:时间字段转换到Excel为空,修改SELECT语句中使用TO_CHAR转换成字符串,例如:to_char(start_time,yyyy-mm-dd HH24:MM:SS) as start_time.注:

8、Excel(2007之前版本)中的记录不能超过65535条,否则会自动关闭文件,导致转换失败。至此,一个简单的数据迁移脚本,从oracle数据库导出数据到EXCEL文件中就大功告成了。4.3使用举例14.3.1建立转换选中列表中的的“表输入”、“表输出”、“插入/更新”,拖拽到右侧工作区。鼠标选中节点键盘按shift键,拖拽即可连线。下图是一个转换,有两个动作,一是直接从数据源表同步数据到目标表,一是检查源表的插入和更新,同步到目标表。黑色线为生效,灰色线为失效,节点和连接可双击进行编辑。可预览数据是否正确。双击编辑表输出动作。操作的数据库名要获取的字段设置如下所示:点击“Enter fiel

9、d mapping/输入字段映射”进行字段选择。选择要用的字段后点确定,注意字段的约束条件。编辑好后点击上面的执行即可。左侧参数暂不说明,执行完成后可以观看下方的日志。双击编辑“插入/更新”动作。然后点击运行。执行前,在源库里加条新纪录。确定作业执行正常后可以保存作业,如保存路径到本地磁盘地址C:etl2.ktr。4.3.2建立执行的JOB/作业建立JOB的前提是有可以完整执行的作业,上面步骤定制的作业进行保存。从左侧列表拖拽“START”,“Success”,“转换”,“发送邮件”到工作区并连接,如下图。然后双击“START”动作进行编辑。然后双击编辑“Transformation”活动。转

10、换文件名选择上一步编辑好的.ktr文件双击发送邮件,参数设置如下:编辑完成后直接点击运行即可。运行后查看日志。当任务执行以后可以查看相对应的日志,也可自行配置日志。4.4使用举例2本例是完成读取目录下的.log文件,找出其中包含错误代码的行,并统计个数4.4.1新建Transformation本例所用到的步骤和组件如下图所示:连接图如下所示:a)获取文件名设置如下:其中已选择的文件名称的变量都需要手写输入,可以点击显示文件名和预览记录检查是否配置正确。b)文本文件输入设置如下:文本文件输入选项中选择从上一步骤获取文件名,其中在输入里的字段被当做文件名一栏输入uri,步骤读取的文件名来自填写获取

11、文件名2内容选项卡的设置如下:文件类型选择CSV,分隔符自己定义,格式为mixed,编码方式选择UTF-8字段选项可设置如下:需要手写输入str名称,设置类型为Stringc)获取字符串设置如下:d)测试脚本设置如下其中可以点击获取变量和测试脚本来测试脚本的正确性点击测试脚本界面如下:脚本代码由JavaScript编写e)聚合记录聚合记录就是将上一步的结果进行聚合,这里的名称字段是点击获取字段获取的,而不是自己输入的,new name一列是制定新名字,可以自己输入填写,f)文本文件输出文本文件的输出设置如下,其中字段属性的设置名称字段是点击获取字段自动获取的,不是输入的,设置如下g)运行日志显示如下:4.4.2建立JobJob的建立于4.3中方法一样,用到的组件如下所示转换组件设置如下:将上一步保存的*.ktr添加到转换名文件路径中点击运行按钮:生成日志如下所示:6、常见问题解决6.1 【Kettle】JDBC连接oracle报找不到驱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论