kettle做定时任务经常用的有两种方法:
一、kettle自带的定时任务功能
具体操作如下:
首先形成一个job,点击文件->新建->作业,然后点击面板左侧的 核心对象 ,选择 通用文件夹下的 START 和 转换 并把它拖到右侧的编辑区中,按住 shift 画线连接“START” 和“转换”


当需要定时时,那么就是需要重复;此时勾选重复选项,然后点击类型下拉选选择你需要定时的类型,如时间间隔,天,周,月;
双击编辑区的“转换”图标,设置要定时执行的转换。
点击“Run”,选择“本地执行”,点击“执行”来执行这个转换。
但这种方法有一个很明显的不足,就是这种方法需要kettle程序包必须一直运行,否则失效,如果一直运行,会对系统造成一种浪费,并且会存在很多的不确定性;二、利用windows计划任务,实现定时执行kettle任务(推荐使用此方案)
这种方法就是利用windows平台的计划任务机制,在操作系统层面去定时调用执行kettle的ktr转换任务或者kjb定时任务,稳定性要优于第一种方法。要使用此方法进行定时执行,首先你必须有一个ktr或者kjb文件,然后根据文件形成批处理文件,即bat文件。D:
cd D:\data-integration7(kettle)
pan.bat /file C:\Users\Administrator\Desktop\转换.ktr /level:Basic>D:\ktr.log
@pause
D:
cd D:\data-integration7(kettle)
kitchen.bat /file C:\Users\Administrator\Desktop\my.kjb /level Detailed /logfile D:\数据迁移.log
@pause
在windows的搜索栏中,搜索“计划任务”(不同版本不太一样),如图
点击程序界面左上方的操作按钮,在下拉框中选择创建任务


点击新建,然后选择你建的bat文件;最后点击确定,然后点触发器;所谓的触发器就是你的定时任务

上面的开始任务下拉选可以进行选择,一般我们选择按预定计划(制定计划时);我们就按照这个来讲解,其他有需要的朋友可以在深入的了解;接下来选择频率,如每天,每月,每周;这个和用kettle自带功能一样,不再叙述;最后我们检测、测试一下自动执行的情况,如果没问题,就完成了。在这里我理解的ktr文件其实就是一个单一的转换任务,而kjb却可以是多个转换任务的集合体,当需要定时执行多个转换任务的时候,可以把这些转换任务添加到一个job里面生成kjb文件,然后加入windows定时执行,这样就可以把多个转换任务同时加入定时执行了。创建一个作业,建立好需要的多个转换,如图所示:将start-转换-成功 连接在一起,右击start,点击RUN NEXT,这样就能并行执行了!