zisheng_wang_DATA的博客

王子胜_DT大数据

Win7下Kettle-7.0安装部署

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

压缩包:(这里使用的是Kettle7.0版本)
这里写图片描述

3、Kettle环境配置
3.1安装JDK(略)
3.2测试JDK安装成功(略)
强调:kettle7.0版本,必须配套使用JDK1.7及以上版本。
3.3运行Kettle
解压之后Windows下找到$KETTLE_HOME/spoon.bat,双击运行.
这里写图片描述
欢迎界面如下图所示:
这里写图片描述

这里写图片描述

4、Kettle组件介绍与使用
4.1 Kettle使用
Kettle提供了资源库的方式来整合所有的工作,;
1)创建一个新的transformation,点击保存到本地路径,例如保存到G:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr;
2)创建一个新的job,点击保存到本地路径,例如保存到G:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb;

这里写图片描述

4.2 组件树介绍

4.2.1 Transformation的主对象树和核心对象分别如下图:

这里写图片描述

这里写图片描述

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

4.2.2 Job的主对象树和核心对象分别如下图:

这里写图片描述

这里写图片描述

主要对象树:菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。
DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。
Job entries/作业项目:一个Job中引用的环节列表。
核心对象菜单:列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。
每一个环节可以通过鼠标拖动来将环节添加到主窗口中。
并可通过shift+鼠标拖动,实现环节之间的连接。

4.2.3 kettle的简单使用

DB连接
我们可以看到转换的主对象树和核心对象区域,然后我们添加一个DB连接。
选择“主对象树”,双击“转换”标签下的“DB连接”会弹出一个配置窗口。填入连接名称,选择连接类型,配置数据库设置,然后测试下配置是否正确。
由于kettle没有将所有数据库的Driver文件集成,所以如果想连接指定的数据库,需要自己下载JDBC驱动,放入指定的lib目录下。添加完JDBC驱动后,必须重启kettle才能正确加载驱动。

这里写图片描述

点击“核心对象”标签页中的“输入”,选择“表输入”拖到“转换”区域。

这里写图片描述

双击“表输入”图标弹出表输入对话框,填入步骤名称,选择数据库连接,点击“获取SQL查询语句”,或者直接写入SQL语句,填写附件信息,点击“预览”按钮查看执行结果,没有错误,点击“确认”关闭对话框。

这里写图片描述

这里写图片描述

点击“核心对象”—“输出”,选择“Excel输出”拖入到转换区,双击Excel输出图标,弹出对话框,选择文件名和其它附加参数,点击确认。

这里写图片描述

这里写图片描述

点击输入表的图标,同时按下shift键,再点击输出文件,将两者连接起来。然后双击Excel输出进行配置。

这里写图片描述

这里写图片描述

最后一步就是执行kettle脚本,点击工具栏的播放箭头即可。

这里写图片描述

点击“启动”开始转换,在转换过程中会出现转换的信息,如下图所示。

这里写图片描述

这里写图片描述

完成转换后,我们可以在Excel输出目录中查看转换结果。

这里写图片描述

注:时间字段转换到Excel为空,修改SELECT语句中使用TO_CHAR转换成字符串,例如:to_char(start_time,’yyyy-mm-dd HH24:MM:SS’) as start_time.
注:Excel(2007之前版本)中的记录不能超过65535条,否则会自动关闭文件,导致转换失败。
至此,一个简单的数据迁移脚本,从Mysql数据库导出数据到EXCEL文件中就大功告成了。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zisheng_wang_DATA/article/details/61192411
个人分类: ETL
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭