Kettle的使用说明.docx
- 文档编号:2875283
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:11
- 大小:554.28KB
Kettle的使用说明.docx
《Kettle的使用说明.docx》由会员分享,可在线阅读,更多相关《Kettle的使用说明.docx(11页珍藏版)》请在冰豆网上搜索。
Kettle的使用说明
KETTLE使用说明
简介
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle可以在http:
//kettle.pentaho.org/网站下载到。
注:
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。
ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
下载和安装
首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。
下载网址:
然后,解压下载的软件压缩包:
pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。
由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。
žKettle可以在http:
//kettle.pentaho.org/网站下载
ž下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。
运行Kettle
进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat或Kettle.exe文件。
Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令:
#chmod+xspoon.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-ddHH24:
MM:
SS')ASSTART_TIME。
注:
Excel中的记录不能超过65535条,否则会自动关闭文件,导致转换失败。
上面是一个简单的数据迁徙脚本,从数据库导出数据到EXCEL文件中。
Kettle处理HBase
本教程使用的软件版本信息如下:
1)Hadoop(1.2.1)
2)PantahoDataIntegration(5.2.0)
3)HBase(0.94.19)。
PentahoShim(社区版)目前支持的Hadoop版本:
参考:
注:
从上表中看出它不支持hadoop1.2.x版本。
解决办法是使用HDP13的插件(基于hadoop-1.0.3/hbase-0.94.6)替代,步骤如下:
1)从
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包:
|hdp13/lib/client目录下替换后的Jar包:
*在HBase中创建一个weblogs表,步骤如下:
1)打开HBaseshell,在命令行中输入:
hbaseshell
2)在Hbase中创建一个表,在hbaseshell中输入:
create'weblogs','pageviews'
*上面命令会创建一个带有一个列族pageviews的weblogs的表。
3)执行quit退出HBaseshell。
参考文档:
1.从下面网址下载weblogs_hbase.txt.zip压缩文件作为文本文件数据源导入:
2.从Spoon(Kettle)中,创建一个新的转换,选择“文件—新建—转换”。
点击“核心对象—输入”标签,然后把“文本文件输入”拖到画板中。
3.双击文本文件输入,弹出文本文件输入对话框,点击“浏览…”按钮选择weblog_hbase.txt文件,点击“添加”按钮。
选择“内容”标签,清空分隔符点击“InsertTAB”按钮,选中“头部行数量”选择框,从格式的下拉菜单中选择Unix格式。
配置输入字段,从“字段”标签页中选择“获取字段”按钮,弹出可用的字段列表,询问采样的数量,输入100点击“OK”按钮。
修改字段key的类型为String,长度为20。
点击“OK”按钮关闭对话框。
●在“核心对象—BigData”下,把HBaseOutput图标拖入到面板中。
并且把文本文件输入与HBaseOutpu连接起来(按住shift+拖曳)。
●双击HbaseOutput,在弹出对话框中输入Zookeeper的主机名和端口号。
1)Zookeeperhost(s)字段中输入Zookeeper主机名,多个主机名使用逗号分隔。
对于本地集群使用localhost。
2)在Zookeeperport字段中,输入你的Zookeeper端口号,缺省值2181。
●创建一个Hbase映射,在Create/Editmappings标签页中告诉Pentaho在HBase中如何存储数据。
1)点击Gettablenames按钮,在HBasetablename的选择框中选择weblogs
2)Mappingname,输入pageviews
3)点击“Getimcomingfields”按钮
4)从Alias的key这行修改Key为Y,清除掉Columnfamily和Columnname字段,并且设置Type字段为String,点击Savemapping。
●配置HBaseout使用上面刚刚创建的映射。
1)进入到ConfigurationConnection标签页,点击Gettablenames。
2)点击Gettablenames,在Hbasetablename的选择框中选择weblogs。
3)点击Getmappingsforspeficedtable获取指定的表。
4)点击Mappingname,选择pageviews,点击“确认”按钮关闭窗口。
点击“文件—另存为”菜单保存转换,在选择目录中输入load_hbase.ktr作为文件名。
●点击转换工具栏中的运行按钮运行转换,或者选择“动作—运行”菜单打开一个执行转换的窗口,点击“启动”按钮。
在Spoon接口的下面打开一个执行结果窗口,显示运行时转换的进度。
在几十秒之后完成转换。
如果在转换过程中出现任何错误,将会红色高亮显示,在日志标签页查看错误信息。
●通过查询HBase验证数据
1)从命令行中,输入下面命令打开HBaseshell:
hbaseshell
2)通过这个命令查询HBase:
scan'weblogs',{LIMIT=>10}
应该返回数据的行数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kettle 使用说明