kettle基本知识点和用法

标签:
使用方法实例kettleit |
分类: 文档 |
个人微信订阅号:http://s13/mw690/003n7xtBzy704VPro281c&690
百度云盘地址: http://pan.baidu.com/s/1qWz8nvA
Ø Kettle说明
1、
2、
3、
Ø Kettle参数
参数是ETL工具使用必须了解的一个问题之一,目前Kettle传参数有两种方式:
1、 Arguments
Arg传参方式是原来3.2以下版本使用的传参方式,是通过command
(图1)
2、 Parameters
Param参数只需要知道参数名称然后再通过参数名称付值就行了,参数区分大小写。
Kitchen.bat[sh]
3、 使用方法
对于参数的使用有两种方法:[%%VAR%%、${VAR}]
由于这两种参数的使用方法不同是需要看ETL程序部署的环境了,%%VAR%%使用的环境是Windows,而${VAR}使用的环境是Linux,但考虑程序移植问题一般都使用${VAR}方式,因为${VAR}方式在Windows系统环境下能够识别。
4、 动态参数设置
动态参数可以在Job与Trans中设置,如果是在Trans中设置则需要下一步骤才能使用,如果在当前Trans中使用则会出错。
(图2)
5、 全局参数设置
全局参数设置是在kettle.properties文件中配置,配置方式是键=值方式。
文件路径是在C:\Documents
脚本获取参数语法:parent_job.getVariable("param_name");
6、 参数优先级
参数的优先级也是一个需要关心的一个问题,特别是当全局参数也有值,又动态设置了参数时,或者是Job中定义参数时,这时我们需要知道这个参数的优先级了,下面是参数优先级的一个排序。
Job本身参数à动态参数à全局参数
需要注意的是当Job本身设置了参数,并且也有全局参数,如果Job本身参数为空而全局参数不为空时,那么输出的参数则是为空的。
Ø Kettle目录脚本说明
当大家把Kettle解压后会发现许多的脚本文档有bat、sh文件,下面对于这些脚本的说明与使用进行一一介绍让大家知道这些脚本是干什么用的。
脚本名称 |
脚本说明 |
脚本使用 |
Spoon.bat |
启动Kettle方法之一,也可以使用Kettle.exe启动 |
双击脚本运行,由于大家可能在执行Job或者Trans时会出此内存溢出时可以通过修改此脚本的JVM大小 |
Pan.bat |
此脚本是用来运行test.ktr文件的,也就是Trans文件 |
可以通过编写bat文件来调用此脚本运行Trans文件,具体使用方法请参考Pan使用方法 |
Kitchen.bat |
此脚本是用来运行test.kjb文件的,也就是Job文件 |
可以通过编写bat文件来调用此脚本运行Job文件,具体使用方法请参考Kitchen使用方法 |
Carte.bat |
此脚本是使用集群Kettle,当数据量到达了一定的级别时就需要考虑集群这一功能来分担服务器压力、性能等方面。 |
|
Encr.bat |
此脚本是用来加密连接数据库密码与集群时使用的密码 |
|
run_kettle_cluster_example.bat |
此脚本是集群Kettle的一个例子 |
|
注:以上说的是bat脚本文件而sh脚本文件没有说明,因为sh的使用方法与bat的使用方法基本上是一致的所以这里就不再详细说明了。
1、 Pan使用方法
我们可以使用CMD来查看Pan可以接收哪些参数如下图:
(图3)
Pan实例:
Pan.bat
2、 Kitchen使用方法
我们可以使用CMD来查看Pan可以接收哪些参数如下图:
(图4)
Kitchen实例:
Kitchen.bat
3、 Carte使用方法
(图5)
从图上可以出Carte的具体使用方法了。
Carte实例:
Carte.bat
由于集群中有一个main群集,所以需要先启动main集群然后再启动其它的子集群。
4、 Encr使用方法
(图6)
图中说明有使用encr加密有两种用途一种是连接数据库的密码一种是集群时的密码
Encr实例:
Encr.bat
Encr.bat
(图7)
Ø Kettle组件说明
由于Kettle的组件实在是太多了,这里我就不详细说明了,大家可以访问下面网址进行了解学习。
http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps
或者参考Kettle用户手册.pdf
Ø Kettle优化
说到优化我相信大家都喜欢问这个问题同时也是最关心的一个问题,在这提供最主要的几种优化方案
1、根据数据量的大小设置commit
2、根据数据量的大小设置数据抓取结果集大小
(图8)
3、尽量把JVM设置大一点
4、启用数据库连接池
(图9)
5、SQL本身的优化
6、需要注意的一些细节,比如在使用插入更新、更新、删除等组件时,当表中有联合主键时就需要注意建立索引的顺序了,如果顺序不正确会导致不走索引。
Ø Kettle并发
对于ETL工具而言并发是一个不可缺少的一部分,因为并将带来的是效率。
(图10)
并发方法:
当你想要在哪一步进行并发时就右击Job或Trans把Launch
(图11)
对于并发值得关注的是数据库的连接,在使用并发功能时需要启用数据库连接池功能,详情请参考Kettle连接池配置
Ø 手动指定.Kettle目录
添加环境变量KETTLE_HOME=[指定.kettle目录],由于测试环境是xp需要指定后重启电脑才能生效。