kettle定时调度,使用Windows任务计划器

Kettle 的定时任务可以用kettle中的job工作来定时转换,也可以使用bat脚本来启动kettle的‘.ktr’转换。

Bat脚本可在Windows上直接双击运行;也可以在‘计算机管理-->任务计划程序’中添加,并定时启动;还可以在Windows点击运行,输入cmd,在dos窗口输入命令启动。在Linux环境下启动转换的方法与Windows上差不多,所以并未多做实验。

  1. 新建文档,保存格式为‘name.bat’,bat脚本:

第一种情况,转换或者作业是在 本地保存,没有使用资源库的情况    

 d:
  cd D:\kettle\kettle71\data-integration
.\pan  /file D:\FR\kettle\stock_V2.ktr /level Basic /logfile D:\kettle_script\log\do.log

ps:有时候   pan  /file D:\FR\kettle\stock_V2.ktr 会不好用,改为 .\pan  /file D:\FR\kettle\stock_V2.ktr

第二种,使用了资源库的情况:

e:
cd E:\pdi-ce-7.1.0.0-12\data-integration
kitchen.bat -rep=DIRepository -user=admin -pass=admin -dir=/货值/移动端 -job=job_货值移动端_proc -level=basic>E:\BI\bat_log.txt

ps:如果使用资源库时,-dir 参数后边只能写 目录名,不能加上作业名,  -job后边才能写作业名,但是不能写.job后缀

e:
cd E:\pdi-ce-7.1.0.0-12\data-integration
kitchen.bat -rep=DIRepository -user=admin -pass=admin -dir=/货值/移动端 -job=job_货值移动端_proc -level=basic>E:\BI\bat_log.txt

脚本解释:‘d:’是进去d盘下,‘cd’打开kettle解压的文件夹下pan所在目录,命令‘pan’启动‘.ktr’转换文件;‘pan’是启动‘.ktr’文件,‘kitchen’是启动‘.kjb’文件。

‘D:\hgy\kettle.log’是将日志写入这个文档。

 ‘pan’或‘kitchen’后面可跟参数含义:

 

而参数 后面可以是=也可以是:也可以是空格

kitchen.bat /file d:\ 或者 -file=D:\ 或者/file:D:\等等都可以

2、在dos窗口调用时,就将1中的bat文件一行一行输入。

3、任务计划程序启动

右键任务计划程序,创建基本任务:

测试时可以直接点旁边的运行:

另外,需要设置下  用户不管登录不登录 都运行

双击上边的执行计划,弹出修改 定时任务

然后可以再日志里面看到:

附:

@echo off
set PATH=%PATH%;..\001kettle
call Kitchen.bat/norep -file=01.生产与测试/数据对比作业(Main).kjb /lever:basic >04.logs\01.生产与测试.log

exit

ps: 

如果报错:

DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=E:\Java\jdk1.8.0_92
DEBUG: _PENTAHO_JAVA=E:\Java\jdk1.8.0_92\bin\java.exe

E:\pdi-ce-7.1.0.0-12\data-integration>"E:\Java\jdk1.8.0_92\bin\java.exe"  "-Xms512m" "-Xmx1024m" "-XX:MaxPermSize=256m" "-Dfile.encoding=UTF-8" "-Dfile.encoding=UTF-8" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=libswt\win64" "-DKETTLE_HOME=E:\pdi-ce-7.1.0.0-12\data-integration" "-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-7.1.0.0-12.jar -lib ..\libswt\win64  -main org.pentaho.di.kitchen.Kitchen -initialDir "E:\pdi-ce-7.1.0.0-12\data-integration"\ -rep DIRepository -user admin -pass admin -dir /»õֵ/ɺ²ú»·¾³ -job job_dc_to_hz_proc -level basic 
10:19:53,959 INFO  [KarafBoot] Checking to see if org.pentaho.clean.karaf.cache is enabled
10:19:58,154 INFO  [KarafInstance] 
*******************************************************************************
*** Karaf Instance Number: 2 at E:\pdi-ce-7.1.0.0-12\data-integration\.\sys ***
***   tem\karaf\caches\kitchen\data-1                                       ***
*** FastBin Provider Port:52902                                             ***
*** Karaf Port:8803                                                         ***
*** OSGI Service Port:9052                                                  ***
*******************************************************************************
2021/08/11 10:20:00 - Kitchen - Logging is at level : 基本日志
2021/08/11 10:20:00 - Kitchen - Start of run.
2021/08/11 10:20:00 - RepositoriesMeta - Reading repositories XML file: E:\pdi-ce-7.1.0.0-12\data-integration\.kettle\repositories.xml
2021/08/11 10:20:13 - job_dc_to_hz_proc - 开始执行任势
2021/08/11 10:20:13 - job_dc_to_hz_proc - 开始项[product]
2021/08/11 10:20:13 - product - Loading transformation from repository [ktr_dc_to_hz_product_proc] in directory [/货倿生产环境]
2021/08/11 10:20:14 - job_dc_to_hz_proc - 完成作业项[product] (结果=[false])
2021/08/11 10:20:14 - job_dc_to_hz_proc - 任务执行完毕
2021/08/11 10:20:14 - Kitchen - Finished!
2021/08/11 10:20:14 - Kitchen - Start=2021/08/11 10:20:00.654, Stop=2021/08/11 10:20:14.135
2021/08/11 10:20:14 - Kitchen - Processing ended after 13 seconds.
 

解决办法:

删掉 kettle根目录下E:\pdi-ce-7.1.0.0-12\data-integration\.kettle\db.cache-7.1.0-stable  ,

删掉db.cache-7.1.0-stable 文件 ; 

以及 C:\Users\Administrator\.kettle\db.cache-7.1.0-stable ,

删掉db.cache-7.1.0-stable 文件

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值