用Kettle作定时转换任务的思路:
新建一个kettle转换,然后用命令执行该转换,将用到的命令写成.bat脚本,Windows新建定时任务定时运行该脚本。
1.新建一个kettle转换
转换名:test.ktr
转换功能:完成数据从Excel输入到Excel输出
输入文件:
input.xls
配置:
Excel输入:
Excel输出
2.命令行执行一个转换
2.1打开cmd命令行,切换到KETTLE_HOME目录
1.切换到KETTLE_HOME所在盘符
C:\Users\Administrator>d:
2.切换到KETTLE_HOME目录
D:\>cd %KETTLE_HOME%
2.2 用Pan.bat执行test.ktr
先来了解Pan.bat,Pan.bat是用来执行Kettle转换的脚本工具,也就是说用命令来执行一个.ktr文件。
打开cmd命令行,在KETTLE_HOME目录下,执行如下命令
start pan
提示:Windows命令 不区分大小写
可看到如下输出,pan命令可用的参数如下:
用pan命令执行kettle转换
pan /file=C:\Users\Administrator\Desktop\test.ktr /level=Basic /logfile=C:\Users\Administrator\Desktop\test.log
命令解释:
/file为要运行的.ktr转换任务
/level为运行输出的日志级别
/logfile为运行的日志保存到的文件
运行该命令后,发现与点击运行符号的效果一样。都能正确运行一个转换。
但是,命令运行的好处是,可以后台运行,不用一直打开Spoon.bat可视化界面,很方便做定时任务。
3.将用到的命令写成.bat脚本
新建test.bat,内容如下:
d:
cd %KETTLE_HOME%
pan /file=C:\Users\Administrator\Desktop\test.ktr /level=Basic /logfile=C:\Users\Administrator\Desktop\test.log
4.Windows新建定时任务定时运行该脚本
右键此电脑-->管理-->系统工具-->任务计划程序-->创建基本任务
填写定时转换名称及描述,下一步
按默认每天触发定时任务,下一步
按默认,每天触发1次,下一步
浏览选择要定时执行的脚本:test.bat,下一步
点击完成
下拉滚动条,找到并双击刚才设置的定时任务
这样就完成了定时任务的设置,想要立即看到定时任务的执行效果,可以点击如下图的 运行。
运行完成后,查看输入文件,确实输出了,而且是以追加的方式添加内容的
查看log文件输出如下
完成!enjoy it!