前面我们介绍了 Kettle的Spoon的转换和作业定时任务GUI设则闹计方式以及运行,但是在实际应用中,我们需要计划任务是在服务器后台运行。
首先我们需要了解Kettle的Kitchen和Pan
Kitchen——作业(job)执行器 (命令行方式)
Pan——转换(trasform)执行器 (命令行方式)
下面我们将重点讲孙蚂罩解经常会用到的 ***作业执行器 Kitchen.bat *** 。
1、新建一个bat文物租件,命名job.bat,然后编辑,输入内容如下:
注意:确保路径的正确性。
2、双击job.bat,即可运行。
我们已经建立了命令行运行的bat文件,并且已经可以正确执行我们的ETL任务了,但是现在我们在运行bat后,桌面上面会一直存在一个控制台的黑窗口,我们可以使用bat命令中的隐藏窗口的命令。
修改我们的job.bat文件
在此双击job.bat运行,我们将不会再看到控制台黑窗口继续保留在桌面上,并且等待设置的间隔时间后,我们可以看到日志文件记录。
···
2017/12/07 16:51:26 - Kitchen - Logging is at level : 基本日志
2017/12/07 16:51:26 - Kitchen - Start of run.
2017/12/07 16:51:31 - job2 - 开始执行任务
2017/12/07 16:51:31 - job2 - job2
2017/12/07 16:53:31 - job2 - 开始项[简单表同步]
2017/12/07 16:53:31 - 简单表同步 - Loading transformation from XML file [file:///D:/KettleProject/TEST2.ktr]
2017/12/07 16:53:31 - 简单表同步 - Using run configuration [Pentaho local]
2017/12/07 16:53:31 - 简单表同步 - Using legacy execution engine
2017/12/07 16:53:31 - TEST2 - 为了转换解除补丁开始 [TEST2]
2017/12/07 16:53:32 - 表输入.0 - Finished reading query, closing connection.
2017/12/07 16:53:32 - 表输入.0 - 完成处理 (I=3, O=0, R=0, W=3, U=0, E=0)
2017/12/07 16:53:32 - 插入 / 更新.0 - 完成处理 (I=3, O=0, R=3, W=3, U=1, E=0)
···
上一篇: Kettle入门之三 Kettle定时任务(GUI)
下一篇: Kettle入门之五 Kettle应用场景(增量插入和更新)
就笑薯判是后台要有这个进程才可以,手绝如果是通过界面执行的话,要点击那个绿色的三角,如果是命令行启动,后台要有这个进程。不推荐使用kettle里面的自动执行,使用 *** 作系统的定时执行要比这个稳定的多。windows下使用定时碰改任务计划,linux下使用crontab在我们辛辛苦苦地把转换、作业都调试好后,最希望看到的估计就困旁是它能按我们设置好的时间自动运行,满满的成就感,今天就来看看kettle是怎首渗么设置调度运行的。
第一种方式:
新建作业,然后在作业START组件中设置自动运行的频次,同时把需要运行的转换、作业连接起来,然后启动运行,同时保证界面不关闭,这样就可以按设置好的时间自动运行了。
第二种方式:
新建普通作业test.kjb,不直接在START组件中设置运行频次,然后新建test.bat批处理文件,内容如下:
C:
cd C:\tools\data-integration
kitchen.bat /file C:\kettle\test.kjb /level Basic /logfile C:\kettle\kettle_test.log
@pause
保存bat文件后,直接在windows下搜索“任务计划程序”新建定时任务。
按上面设置好后windows就会定时运行test.bat文件,汪芹橡bat文件会启动kitchen.bat运行kettle作业,这样就完成了定时运行。
使用bat运行作业方式效率会比直接在spoon中低,谨慎使用。
有更好的办法?欢迎讨论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)