您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 史上最强-Kettle-培训教程
Kettle工具使用培训教程目录ETL简介KETTLE简介KETTLE安装和运行KETTLE菜单简介KETTLE案例讲解控件介绍日志介绍一、ETL简介ETL概念简介ETL相关的质量特性ETL在数据仓库项目中的位置二、kettle工具简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定Kettle中有两种脚本文件,transformation(转换)和job(作业),transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle工具的模型架构kettle工具的优缺点优点:•系统开源、免费•安装方便、图形化安装•支持多种数据源•支持多种字符集•具有简单的权限管理•支持各种复杂数据转换缺点•稳定性差•性能差•缺乏元数据管理KETTLE的下载Kettle可以在网站下载下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可Kettle运行步骤双击运行kettle文件夹下的Kettle文件,出现kettle欢迎界面。创建资料库(可省略)创建数据库连接创建转换创建Jobs,进行流程化控制KETTLE的使用进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat文件,出现如下界面:Kettle使用步骤(1)创建转换大概的来说一般由三步组成:输入+转换等中间步骤+输出(2)创建作业将已经创建好的转换和相关的作业组件串联起来,形成一个整体的任务。Kettle的执行顺序•作业:分串行执行和并行执行,串行执行是先执行完其中一条线再执行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执行前面的再执行后面的。每个步骤执行结果分两种:true(成功)/false(失败),根据返回结果可以控制流程走向。转换:一开始所有步骤同时运行,记录会从最前端的步骤向后传递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再把记录往后传递,记录传递分复制和分发两种模式。KETTLE的目录介绍ↂ根目录文件夹介绍:【Docs】存放Kettle各种语言版本的API文档。【Launcher】存放KettleSpoon加载的一些配置信息。【Lib】存放Kettle所使用到的第三方jar包。比如:数据库驱动包,如缺少时需要把对应的数据库驱动包放入此文件夹中。【Libswt】存放Kettle对应不同平台的相关UIjar包。【Plugins】存放Kettle自定义插件时,需要把自定义好的插件打成jar放在此目录。【Pwd】存放Kettle配置集群时所需要的配置文件与加密文件。【Samples】存放Kettle自带的一些Job与Trans实例。【Simple-jndi】存放Kettle使用JNDI方式连接数据源方式的文件存放目录。目录下的jdbc.properties配置文件中有相应的实例提供参考。【Ui】存放Kettle初始化使用到的图片及配置信息。Kettle菜单介绍-transformationMainTree菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。Steps:一个transformation中应用到的环节列表Hops:一个transformation中应用到的节点连接列表转换的菜单介绍:Kettle菜单介绍-transformationCoreObjects菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。Input:输入环节Output:输出环节Lookup:查询环节Transform:转化环节Joins:连接环节Scripting:脚本环节转换的菜单介绍:Kettle菜单介绍-transformation每一个环节可以通过鼠标拖动来将环节添加到主窗口中。并可通过shift+鼠标拖动,实现环节之间的连接。Kettle菜单介绍-transformation转换的常用环节介绍:Kettle菜单介绍-jobMainTree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。Jobentries:一个Job中引用的环节列表作业的菜单介绍:Kettle菜单介绍-job作业的菜单介绍:Jobentries菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。每一个环节可以通过鼠标拖动来将环节添加到主窗口中。并可通过shift+鼠标拖动,实现环节之间的连接。Kettle菜单介绍-job作业的常用环节介绍:Kettle主界面说明:A:A:Kettle所使用到的菜单栏。B:在使用Kettle时所涉及使用到的对象。C:Kettle中所有的组件。D:根据选择(B)或者(C)显示相应的结果。E:Kettle设计界面。Kettle界面-jobKettle界面-transformationKettle新建作业和转换Kettle新建DB连接在打开的转换目录下,依次点击”主对象树-》装换-》当前装换名-》DB连接-》右键新建“,如下图所示:123456例一:导入文本文件到数据库案例描述:把文本文件中的格式化数据导入到oracle数据库表中步骤:①创建转换:右击“转换—新建”,或者点击左上角的弹出窗口选择“转换”,出现如下界面:例一:导入文本文件到数据库步骤:②从左侧输入栏目中选择【文本文件输入】控件,拖拽到右侧工作空间中例一:导入文本文件到数据库步骤:③从左侧输出栏目中选择【表输出】控件,拖拽到右侧工作区例一:导入文本文件到数据库步骤:④鼠标在【文本文件输入】控件上停留片刻,弹出窗口,选择图标,鼠标拖动到【表输出】控件,点击鼠标确定;一条线将两个控件连接到一起例一:导入文本文件到数据库步骤:⑤鼠标双击【文本输入】控件,弹出窗口编辑,如下图:点击获取字段按钮,可自动获取字段名称,然后编辑相关属性,预览记录例一:导入文本文件到数据库步骤:⑥鼠标双击【表输出】控件,弹出窗口编辑,如下图:例一:导入文本文件到数据库步骤:⑦鼠标点击左上角的图标执行,如下图:例二:导出数据到文本文件案例描述:把oracle数据库表中的数据导出到文本文件步骤:①创建转换:右击“转换—新建”,或者点击左上角的弹出窗口选择“转换”,出现如下界面:例二:导出数据到文本文件步骤:②从左侧输入栏目中选择【表输入】控件,拖拽到右侧工作空间中例二:导出数据到文本文件步骤:③从左侧输出栏目中选择【文本文件输出】控件,拖拽到右侧工作区例二:导出数据到文本文件步骤:④鼠标在【表输入】控件上停留片刻,弹出窗口,选择图标,鼠标拖动到【文本文件输出】控件,点击鼠标确定;一条线将两个控件连接到一起例二:导出数据到文本文件步骤:⑤鼠标双击【表输入】控件,弹出窗口编辑,如下图:例二:导出数据到文本文件步骤:⑥鼠标双击【文本文件输出】控件,弹出窗口编辑,如下图:例二:导出数据到文本文件步骤:⑦鼠标点击左上角的图标执行,如下图:例三:表对表数据转换•新建一个转换:文件->新建->转换例四:作业调用作业•新建一个作业:文件->新建->作业•作业可以调用作业,这样方便流程控制47例五:作业调用转换•作业也可以调用转换48作业的一个例子指定job执行规则:是否重复执行、设置重复执行的间隔时间等Job可以嵌套job例六:KETTLE自带例子两种打开方式:菜单:文件->从URL打开文件->samples也可以直接到KETTLE工具下的samples目录打开Kettle常用控件(1)转换控件-主对象-数据路连接:由于一般在做数据处理时都会涉及到表操作,所以一般需要创建数据库连接,这是其它操作的前提Kettle常用控件(2)转换控件-核心对象:Kettle常用控件(3)作业控件-核心对象(4)kettle内部变量Kettle常用控件(5)常用控件说明输入控件生成记录功能描述:生成一些固定字段的记录,主要用来模拟一些数据进行测试注意事项:注意生成行数自定义常量数据功能描述:用来给查询增加常量列“元数据”页是定义字段相关信息“数据”页则是赋予各字段相应的值生成随机数功能描述:生成36位的随机数注意事项:生成36位的随机数中间有四个“-”,如果用来做32位主键的话还需把中间的“-”去掉获取表名功能描述:获取数据库的表信息获取视图信息获取存储过程信息获取同义词信息获取模式名获取数据库名可以在表名、视图名、过程名前添加上模式名获取系统信息功能描述:包括命令行入的参数,操作系统时间,ip地址,一些特殊属性,kettle版本等表输入功能描述:从数据库中按条件查找表的数据注意事项:可以使用变量替换的方式进行查询,请将“替换sql语句里的变量”勾选上可以使用上一步结果中赋予值,请将“从步骤插入数据”选择上一步的名称测试过程中发现如果上一个步骤设置的变量,在tableinput里面获取不到,变量设置必须作为一个单独的转换先执行一次,然后才能获取到这个变量文本文件输入XML文件输入Excel输入输出控件文本文件输出Excel文件输出XML文件输出Access输出SQL文件输出表输出功能描述:将数据写入到数据库表建立流字段与现在表字段的映射关系每次commit的记录数大小等注意事项:当源表跟目标表的字段名不同时,要将“指定数据库字段”勾选上尽量不使用“裁剪表”,防止锁表删除功能描述:根据给定的条件删除目标表数据注意事项:数据库能正常连接目标表名正确提交记录数量不宜过大查询的字段最好是主键更新功能描述:根据流数据更新目标表数据注意事项:一定要有能唯一识别某行数据的主键(重要)需要更新表的字段与流字段名不同时需要进行映射插入更新功能描述:根据流数据对目的表进行插入/更新操作注意事项:若只需要插入操作,则勾选上“不执行任何更新”提交数量不要设置过大,尽量使用小数量一定要有能唯一识别某行数据的主键数据同步转换控件1、可以使用数据库自带的序列提供序列值2、可以使用kettle自带的序列生成器提供序列值增加序列增加常量字符串相关操作剪切字符串:截取字符串从0开始字符串操作:包括去空格(貌似不好用)、大小写转换、首字母大写等字符串替换:替换指定的字符串,支持正则表达式字段选择功能描述:用于选择,重命名列,指定列长度或精度可以移除不需要的字段可以更改字段值类型、样式可以手动增加需要的字段去掉重复记录功能描述:根据指定的字段进行排除重复记录注意事项:使用前必须排序“增加计数器到输出”调勾的话时就增加计数器,在后边在多出来一列,显示去掉的行数的几个;“计算器字段”给计数器起名“字段名称”选择要去重复的字段,这个输出的原理是选择了就把这一列重复的都去掉,在这行的别的列不重复的也去掉应用控件发送邮件写日志流程控件Switch/Case功能描述:对于多种类型的值进行不同的选择路径注意事项:一定得有个默认的路径识别流的最后一行过滤记录功能描述:通过使用表达式从输入流中过滤数据,将结果是TURE或FALSE的流输出到不同的节点。用户可以增加多个表达式,并用AND或OR连接注意事项:正确选择对应的步骤阻塞数据直到步骤都完成功能描述:流数据不再往下走,直到设置的步骤全部数据走完注意事项:后面的sql语句执行不受此影响脚本控件JavaScript代码功能描述:执行JS脚本,并且提供了很多函数注意事项:结果必须再赋给一个字段;新字段的类型一定要给出,要不报错;新字段添加为流的新列Java代码执行SQL脚本功能描述:执行SQL语句,包括DDL语句、DML语句例如动态创建表(表名
本文标题:史上最强-Kettle-培训教程
链接地址:https://www.777doc.com/doc-6460229 .html