自己总结的Kettle使用方法和成果_第1页
自己总结的Kettle使用方法和成果_第2页
自己总结的Kettle使用方法和成果_第3页
自己总结的Kettle使用方法和成果_第4页
自己总结的Kettle使用方法和成果_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、KETTLE使用自己总结的Kettle使用方法和成果说明简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。Kettle可以

2、在/网站下载到。注:ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。下载和安装首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。下载网址:然后,解压下载的软件压缩包:pdi-ce--209.zip,解压后会在当前目录下上传一个目录,名为data-integration。由于Kettle是使用Java开发的,所以系统环境需要安

3、装并且配置好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的简单使用首先,点击“文件新

4、建转换”菜单创建一个转换。我们可以看到转换的主对象数和核心对象区域,然后我们添加一个DB连接。选择“注对象数”,双击“转换2”标签下的“DB连接”会弹出一个设置窗口。填入连接名称,选择连接类型,配置数据库设置,然后测试下配置是否正确。由于Kettle没有将所有的数据库的Driver文件集成,所以如果想连接指定的数据库,需要自己下载JDBC驱动,放入到解压目录下的lib目录中。添加完JDBC驱动后,必须重启下Kettle才能加载驱动。1)Oracle的JDBC驱动:ojdbc6.jar2)MySQL的JDBC驱动:mysql-connector-java-5.1.32.jar注:在转换之前需要创

5、建转换所需的表,原始表和转换的目标表。点击“核心对象”标签页中的“输入”,选择“表输入”拖到“转换”区域。双击“表输入”图标弹出表输入对话框,填入步骤名称,选择数据库连接,点击“获取SQL查询语句”,或者直接写入SQL语句,填写附件信息,点击“预览”按钮查看执行结果,没有错误,点击“确认”关闭对话框。点击“核心对象”“输出”,选择“Excel输出”拖入到转换区,双击Excel输出图标,弹出对话框,选择文件名和其它附加参数,点击确认。点击输入表的图标,同时按下shift键,再点击输出文件,将两者连接起来。然后双击Excel输出进行配置。最后一步就是执行kettle脚本,点击工具栏上的绿色箭头即可

6、。点击“启动”开始转换,在转换过程中会出现转换的信息,如下图所示。完成转换后,我们可以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 Da

7、ta Integration(5.2.0)3)HBase(0.94.19)。Pentaho Shim(社区版)目前支持的Hadoop版本:参考:注:从上表中看出它不支持hadoop 1.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目录,修改perties文件中的active.hadoop

8、.configuration属性为,缺省值为hadoop-20,如下:active.hadoop.configuration=hdp133)替换掉hdp13/lib目录下与Hbase和hadoop有关的Jar包,拷贝一份hbase-site.xml到hdp13目录下。| hdp13/lib/pmr目录下替换后的Jar包:| hdp13/lib/client目录下替换后的Jar包:* 在HBase中创建一个weblogs表,步骤如下:1)打开HBase shell,在命令行中输入:hbase shell2)在Hbase中创建一个表,在hbase shell中输入:create 'webl

9、ogs', 'pageviews'* 上面命令会创建一个带有一个列族pageviews的weblogs的表。3)执行quit退出HBase shell。参考文档:1. 从下面网址下载weblogs_hbase.txt.zip压缩文件作为文本文件数据源导入:2. 从Spoon(Kettle)中,创建一个新的转换,选择“文件新建转换”。点击“核心对象输入”标签,然后把“文本文件输入”拖到画板中。3. 双击文本文件输入,弹出文本文件输入对话框,点击“浏览”按钮选择weblog_hbase.txt文件,点击“添加”按钮。选择“内容”标签,清空分隔符点击“Insert TAB”按

10、钮,选中“头部行数量”选择框,从格式的下拉菜单中选择Unix格式。配置输入字段,从“字段”标签页中选择“获取字段”按钮,弹出可用的字段列表,询问采样的数量,输入100点击“OK”按钮。修改字段key的类型为String,长度为20。点击“OK”按钮关闭对话框。l 在“核心对象Big Data”下,把HBase Output图标拖入到面板中。并且把文本文件输入与HBase Outpu连接起来(按住shift+拖曳)。l 双击Hbase Output,在弹出对话框中输入Zookeeper的主机名和端口号。1)Zookeeper host(s)字段中输入Zookeeper主机名,多个主机名使用逗号分

11、隔。对于本地集群使用localhost。2)在Zookeeper port字段中,输入你的Zookeeper端口号,缺省值2181。l 创建一个Hbase映射,在Create/Edit mappings标签页中告诉Pentaho在HBase中如何存储数据。1)点击Get table names按钮,在HBase table name的选择框中选择weblogs2)Mapping name,输入pageviews3)点击“Get imcoming fields”按钮4)从Alias的key这行修改Key为Y,清除掉Column family和Column name字段,并且设置Type字段为St

12、ring,点击Save mapping。l 配置HBase out使用上面刚刚创建的映射。1)进入到Configuration Connection标签页,点击Get table names。2)点击Get table names,在Hbase table name的选择框中选择weblogs。3)点击Get mappings for speficed table获取指定的表。4)点击Mapping name,选择pageviews,点击“确认”按钮关闭窗口。点击“文件另存为”菜单保存转换,在选择目录中输入load_hbase.ktr作为文件名。l 点击转换工具栏中的运行按钮运行转换,或者选择“动作运行”菜单打开一个执行转换的窗口,点击“启动”按钮。在Spoon接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论