Kettle的使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KETTLE使用说明
简介
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle可以在/网站下载到。
注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。
下载和安装
首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。
下载网址:/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。
由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。
žKettle可以在/网站下载
ž 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。运行Kettle
进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat 或Kettle.exe文件。Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令:
# chmod +x spoon.sh
# nohup ./spoon.sh & 后台运行脚本
这样就可以打开配置Kettle脚本的UI界面。
Kettle的简单使用
首先,点击“文件—新建—转换”菜单创建一个转换。
我们可以看到转换的主对象数和核心对象区域,然后我们添加一个DB连接。
选择“注对象数”,双击“转换2”标签下的“DB连接”会弹出一个设置窗口。填入连接名称,选择连接类型,配置数据库设置,然后测试下配置是否正确。
由于Kettle没有将所有的数据库的Driver文件集成,所以如果想连接指定的数据库,需要自己下载JDBC驱动,放入到解压目录下的lib目录中。添加完JDBC 驱动后,必须重启下Kettle才能加载驱动。
1)Oracle的JDBC驱动:ojdbc6.jar
2)MySQL的JDBC驱动:mysql-connector-java-5.1.32.jar
注:在转换之前需要创建转换所需的表,原始表和转换的目标表。
点击“核心对象”标签页中的“输入”,选择“表输入”拖到“转换”区域。
双击“表输入”图标弹出表输入对话框,填入步骤名称,选择数据库连接,点击“获取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中的记录不能超过65535条,否则会自动关闭文件,导致转换失败。
上面是一个简单的数据迁徙脚本,从数据库导出数据到EXCEL文件中。Kettle处理HBase
本教程使用的软件版本信息如下:
1)Hadoop(1.2.1)
2)Pantaho Data Integration(5.2.0)
3)HBase(0.94.19)。
Pentaho Shim(社区版)目前支持的Hadoop版本:
参考:
/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distr o+and+Version
注:从上表中看出它不支持hadoop 1.2.x版本。
解决办法是使用HDP13的插件(基于hadoop-1.0.3/hbase-0.94.6)替代,步骤如下:
1)从https:///50-hdp12下载hdp13的shim插件。
2)解压到plugins/pentaho-big-data-plugin/hadoop-configurations目录下,目录名为hdp13。
3)进入plugins/pentaho-big-data-plugin目录,修改plugin.properties文件中的active.hadoop.configuration属性为,缺省值为hadoop-20,如下:active.hadoop.configuration=hdp13
3)替换掉hdp13/lib目录下与Hbase和hadoop有关的Jar包,拷贝一份hbase-site.xml到hdp13目录下。
| hdp13/lib/pmr目录下替换后的Jar包: