1.场景介绍:

根据不同的操作系统定时调度kettle资源库中的job

2.案例适用范围:

windows环境kettle资源库中job调度,linux环境kettle资源库中job调度,linux环境定时任务参数设置

3.本文主要包含如下三个内容介绍希望大家喜欢:

一:windows使用计划任务定时执行kettle资源库中的job

问:为什么不用kettle start组件里面的自带的定时器?

答:Kettle自带的定时任务调度不太稳定,而且必须打开Kettle。

所以本文介绍通过windows的任务计划程序调用Kettle的Kitchen.bat来实现定时调度作业和转换。

进入主题…

1.环境介绍:

a.windows操作系统为:windows 10

kettle java 调整内存 kettle内存设置_kettle调度


b.Pentaho Data Integration版本为:pdi-ce-6.0.0.0-353

kettle java 调整内存 kettle内存设置_kettle调度_02


c.文件资源库名:cron

kettle java 调整内存 kettle内存设置_kettle调度_03


2.调用Kettle的Kitchen.bat的脚本:

kettle java 调整内存 kettle内存设置_kettle调度_04


针对上面脚本做如下介绍:

a. D:指定盘符

b. cd 是进入到kettle安装执行文件目录下

c. -job job的名称 这里我的job名称就是sj_sjzc_job

d. -rep 表示的是你的仓库名,也就是你的资源库的名称 这里我的资源库名称为cron

e. -level 日志的级别 我们普通的写basic就可以了,就是最基本的

f. 最后面就是日志了,针对job跑起来的相关信息都会保存在C:\Users\admin\Desktop\sj_test\log下每天一个.log文件注:脚本中的“-” 可用“/”代替

3.windows下建立执行任务

电脑右键管理弹出如下界面:

kettle java 调整内存 kettle内存设置_kettle调度_05


下一步:

kettle java 调整内存 kettle内存设置_kettle调度_06


下一步:

kettle java 调整内存 kettle内存设置_kettle调度_07


下一步:

kettle java 调整内存 kettle内存设置_kettle调度_08


kettle java 调整内存 kettle内存设置_kettle java 调整内存_09


下一步:

kettle java 调整内存 kettle内存设置_kettle调度_10


点完成设置成功!!!

4.16:20查看执行结果:

a.sj_sjzc_job调度成功:

作业循环生成的按省份加编号命名的.xls文件,其中每个文件按年份生成多个sheet页,具体实现参考文章:kettle循环导出数据到excel生成多个sheet页

kettle java 调整内存 kettle内存设置_kettle java 调整内存_11


b.按年月日命名的log文件成功生成

kettle java 调整内存 kettle内存设置_kettle调度_12


日志内容打印正确:

kettle java 调整内存 kettle内存设置_kettle java 调整内存_13


二:linux环境crond定时任务执行kettle资源库中的job

linux环境定时调度任务主要用crond

1、先手动执行定时任务以此来判断脚本是否有问题。

手动调job没有问题:

kettle java 调整内存 kettle内存设置_kettle调度_14


2、确认服务器是否开启定时任务计划服务

命令:service crond status

启动命令:service crond start

kettle java 调整内存 kettle内存设置_kettle java 调整内存_15


3.设置定时任务:

12 17 * * * /data/data-integration/kitchen.sh -rep=xforceplus -job=sj_sjzc_job -dir=/Hades/ETL/OTHER_DATA>/root/cron.log

kettle java 调整内存 kettle内存设置_kettle java 调整内存_16


4.17:12查看定时任务结果

a.17:12程序启动成功

kettle java 调整内存 kettle内存设置_kettle java 调整内存_17


b.文件成功生成

kettle java 调整内存 kettle内存设置_kettle调度_18


三.kettle更多参数介绍

kettle java 调整内存 kettle内存设置_kettle java 调整内存_19


kettle java 调整内存 kettle内存设置_kettle java 调整内存_20


kettle更多参数如下:

如内容有错欢迎大家指正!!!

/rep : Repository name
 /user : Repository username
 /pass : Repository password
 /job : The name of the job to launch
 /dir : The directory (dont forget the leading /)
 /file : The filename (Job XML) to launch
 /level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)
 /logfile : The logging file to write to
 /listdir : List the directories in the repository
 /listjobs : List the jobs in the specified directory
 /listrep : List the available repositories
 /norep : Do not log into the repository
 /version : show the version, revision and build date
 /param : Set a named parameter =. For example -param:FOO=bar
 /listparam : List information concerning the defined parameters in the specified job.
 /export : Exports all linked resources of the specified job. The argument is the name of a ZIP