【使用指南】Kettle转换使用教程
#Kettle转换使用教程##概述Kettle是一款国外开源的ETL工具,纯java编写的ETL工具 ,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。并且Kettle 是 PDI 以前的名称,现在PDI 的全称是Pentaho Data IntegerationETL是指EXTRACT(抽取)、TRANSFORM(转换)、LOAD(加载)。更多介绍可以访问Kett
#Kettle转换使用教程
##概述
Kettle是一款国外开源的ETL工具,纯java编写的ETL工具 ,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。并且Kettle 是 PDI 以前的名称,现在PDI 的全称是Pentaho Data Integeration
ETL是指EXTRACT(抽取)、TRANSFORM(转换)、LOAD(加载)。
更多介绍可以访问Kettle中文网:http://www.kettle.net.cn/
安装与配置
运行环境:JDK1.5以上
下载
下载地址: https://sourceforge.net/projects/pentaho/files/Data%20Integration/
可以下载7.1版本的kettle:
也可以在Home中下载最新版的PDI
安装
kettle是纯java编写的,因此下载后解压即可直接运行,类似于绿色软件的打开方式。
解压后的文件夹如下:
启动
在windows下点击spoon.bat即可启动,下面以7.1版本的举例:
启动画面:
启动完成:
子程序介绍
四大工具
Chef—工作(job)设计工具 (GUI方式)
Kitchen—工作(job)执行器 (命令行方式)
Spoon—转换(transform)设计工具 (GUI方式)
Span—转换(transform)执行器 (命令行方式)
Spoon.bat: 图形界面方式启动作业和转换设计器。
Pan.bat: 命令行方式执行转换。
Kitchen.bat: 命令行方式执行作业。
Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。
Encr.bat: 密码加密
使用前需要理解转换和作业:
Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job)。
•转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。
•作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个作业项。
转换
启动后,在图形界面的左上角添加转换
kettle转换支持的输入格式非常多,因此功能十分强大
execl表格转换txt文本
第一步
下面就将execl表格按照一定的格式转换为txt文本的过程作为演示
先在输入中拖出一个excel输入
再到输出中拖出一个文本文件输出(GUI的操作简单的优势体现得淋漓尽致)
长按shift分别用鼠标左键点击Excel输入和文本文件输出,将它们用箭头连接起来
第二步
使用鼠标右键分别对Excel输入和文本文件输出进行编辑步骤设置
步骤名称可以自定义,方便识别即可,表格类型一定要匹配
点击浏览添加文件,然后点击增加添加选中的文件(可以一次增加多个文件)
在标签栏中选择工作表,添加需要选择的工作名称,在起始行或者起始列中选择从表格中开始读取数据的位置
之后的标签选择默认设置即可,在字段标签中点击获取来自头部数据的字段
在格式下的方框中双击即可获得下拉的格式模板,选择想要的模板即可
在步骤编辑结束前,一定要先预览,查看从表格中读出的数据是否是需要处理的数据,看从之后点击确定
第三步
接下来需要进行文本文件输出步骤设置,进入设置的方法于对excel输入设置相同
文件中添加文件名称,扩展名选择txt(建议文件名称前面加上生成文件绝对路径位置,方便查找生成的文件)
内容中分隔符使用$[09]
表示使用制表符作为分隔符号(不能直接输入\t作为制表符),编码格式可以选择utf-8
使用sublime先安装hexVIew插件,使用插件,点击toggle查看制表符的十六进制,然后分隔符处通过$[],例如制表符查看是09;则分隔符为:$[09]
字段中点击获取字段,可以对字段下数据的类型与格式进行设置
字符串的格式可以参照下表
设置完成后,可以开始运行(注意:需要先对转换的任务进行保存,才能开始运行转换)
当运行成功后,输入与输出图标上都会出现两个小对勾,并且出现完成的日志(当发生错误的时候,可以通过查看日志来排除错误)
转换成功后的文本文件效果图如下:
数据库表转换
第一步
建立数据库连接
在数据库连接输入数据库信息,因为是MySQL数据库,因此在连接类型中选择MySQL,确认输入数据库信息无误,一定要进行测试,获得正确连接到数据提示后点击确定
如建立连接数据库1一样,连接数据库2
配置好两个数据库后,在DB连接中即可看到
从输入中拖出表输入
从输出中拖出插入/更新,长按shift连接两个步骤
第二步
对表输入进行编辑,输入需要查询的select语句(注意sql语句后不需要添加分号)
在进行转换前一定要先点击预览,确认好目标范围
第三步
对插入/更新进行编辑,选择需要连接的数据库与表,并点击获取字段,获得id、name、password的映射
在获得的字段中,选择作为判断条件的字段,比如name,并右键保留所选行
点击获取和更新字段,得到数据库中字段的映射关系,因为目标表中没有id字段,因此需要删除id的映射,设置好后点击确定。
当关键字name相同的时候,会进行更新字段的操作,当下方表格中的更新项为Y是进行更新,为N是不进行更新。
当关键字name不相同的时候,就直接进行插入更新操作。
在开始进行转换前,查询目标表中的信息
点击启动,开始转换,当两个步骤中出现两个小对勾,代表转换成功
再次查询,可以看到目标表进行更新,但admin的password字段未更新
在插入/更新中进行设置,选择更新为Y,再次尝试
admin的password字段已更新
关键字:kettle、kettle学习笔记、Pentaho
参考资料:
kettle学习笔记
更多推荐
所有评论(0)