Kettle能够在Window、Linux、Unix上运行,数据抽取高效稳定,使用以前须要准备环境。
准备java环境,这里就不赘述了,建议jdk7以上版本。java
上传kettle压缩包,并解压,我解压的路径是/usr/soft/kettle数据库
如下是重点:
确保kettle脚本可执行权限
使用命令查看文件权限
ls -l /data-integration
如图:

若是没有执行权限,执行如下命令:
chmod +x /usr/soft/kettle/dist/*.sh
工具
使用命令测试是否部署成功
./dist/kitchen.sh
部署成功后的截图:
测试
经常使用命令
ktr的运行:运行transformation文件是经过pan.sh来运行的。ui
打开cmd命令行窗口,转到pan.sh所在的目录,如/home/zzq/data-integration,而后执行文件的命令为spa
./pan.sh -file=/home/zzq/work/test.ktr
1
若是要输出日志则插件
./pan.sh -file=/home/zzq/work/test.ktr >> /home/zzq/log/kettle.log
1
后台模式运行使用命令行
./pan.sh -file=/home/zzq/work/genotypeHiveLinux.ktr >> /home/zzq/log/kettle.log &
1
kjb的运行:运行job文件是经过kitchen.sh来运行的。调试
打开cmd命令行窗口,转到kitchen.sh所在的目录,如/home/zzq/data-integration,而后执行文件的命令为日志
./kitchen.sh -file=/home/zzq/work/test.kjb
1
若是要输出日志则
./kitchen.sh -file=/home/zzq/work/test.kjb >> /home/zzq/log/kettle.log
1
配置参数:
Pan——转换执行器
用来执行转换。参数与Kitchen相似,以下。
1- -version显示版本信息
2- -file=filename运行xml文件
3- -param:key=value指定命名参数
4- -log=logging filename 设置日志文件
5- -level=logging level 设置日志级别
Error:只显示错误
Nothing:不显示任何输出
Minimal:只使用最少的记录
Basic:这是默认的基本日志记录级别
Detailed:详细的日志输出
Debug:以调试为目的,很是详细的输出
Rowlevel:使用行级记录,会产生大量的数据
返回状态,Pan会基于执行情况返回一个错误码:
0:转换执行成功
1:处理过程当中发生错误
2:在装载或者运行时发生意外的错误
3:不能初始化转换
7:转换不能从资源库或xml中装载
8:装载步骤或插件错误(一般是装载其中一个插件错误)
9:命令行用法错误
Kitchen——做业执行器
用来执行做业。这是一个命令行执行工具,参数说明以下。
1) -rep:Repositoryname任务包所在存储名
2) -user:Repositoryusername执行人
3) -pass:Repositorypassword执行人密码
4) -job:Thenameofthejobtolaunch任务包名称
5) -dir:Thedirectory(don’tforgettheleading/or)
6) -file:Thefilename(JobXML)tolaunch
7) -level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别
8) -log:Theloggingfiletowriteto指定日志文件
9) -listdir:Listthedirectoriesintherepository列出指定存储中的目录结构。
10) -listjobs:Listthejobsinthespecifieddirectory列出指定目录下的全部任务
11) -listrep:Listthedefinedrepositories列出全部的存储
12) -norep:Don’tlogintotherepository不写日志
示例: 1. Windows 中多个参数以 / 分隔,key 和value之间以:分隔
做业存储在文件
Kitchen.bat /level:Basic>D:\etl.log /file:F:\Kettledemo\email.kjb
1
做业存储在数据库
Kitchen.bat /rep kettle /user admin /pass admin /job F_DEP_COMP
1
(Rep的值为数据库资源库ID)
Linux 中参数以 –分隔
做业存储在文件
./kitchen.sh-file=/home/job/huimin.kjb >> /home/ log/kettle.log
1
做业存储在数据库
./kitchen.sh -rep=kettle1 -user=admin -pass=admin -level=Basic -job=job