Kettle系列教程-第十一章:使用Windows计划任务定时执行Kettle作业
本系列教程基于Kettle 8.1(pdi-ce-8.1.0.0-365)。大部分内容同样适用于Kettle 7.x版本。
章节目录:
- 一、运行环境配置
- JDK
- JVM参数
- KETTLE_HOME
- 依赖包导入
- 二、转换与作业
- 转换流程
- 作业流程
- 三、数据库连接配置
- 创建数据库连接
- 共享数据库连接
- 数据库连接参数
- 四、资源库(数据库存储方式)
- 创建资源库
- 保存流程到资源库
- 从资源库打开流程
- 五、变量/参数
- 参数的配置与使用
- 变量的配置与使用
- 六、转换流程-输入组件
- Excel输入
- 表输入
- 七、转换流程-输出组件
- Excel输出
- 文本文件输出
- 表输出
- 八、转换流程-转换组件
- 九、脚本组件
- 转换-Java代码组件
- 作业-SQL组件
- 作业Shell组件
- 十、对接大数据平台
- 基础文件配置
- 上传文件到HDFS
- 连接Hive
- 十一、使用Windows计划任务定时执行Kettle作业
- 命令说明
- 编写批处理脚本执行Kettle作业
- 创建计划任务定时执行Kettle作业
- 十二、使用Java执行Kettle作业
- 搭建Kettle运行环境
- 代码示例(作业、转换、资源库)
本章说明
对于使用Windows计划任务去执行Kettle作业这种方式,其实是分为两步的,首先是编写一个批处理脚本,脚本中写着执行Kettle作业的内容,然后是创建一个计划任务去执行这个批处理脚本。所以这一章主要是介绍批处理脚本的编写。
命令说明
Kettle的作业和转换都可以通过批处理脚本去执行,命令文件不一样,但是都在data-integration
目录下。
执行作业使用的命令文件是Kitchen.bat
。
执行转换使用的命令文件是Pan.bat
。
两个命令文件的配置项类似,其中Kitchen.bat
配置项如下:Pan.bat
配置项如下:
编写批处理脚本去执行Kettle作业
本章只介绍批处理执行Kettle作业的配置说明,执行转换的配置与作业类似,故不再介绍。
作业流程如下图,一个简单的写入文件作业,文件名和扩展名都使用了参数:
对于是否使用资源库,脚本内容不太一样,这里就分开来说。
执行普通作业(非资源库中的)
脚本内容:
@echo off
:: 进入脚本所在目录
cd /D %~dp0
:: 执行Kettle作业的脚本内容
:: 指定作业文件位置,为防止路径中出现空格,路径两侧需要使用双引号包围
"D:\Program Files\pdi-ce-8.1.0.0-365\data-integration\Kitchen.bat" -file "D:\kettle\jobs\Kettledoc\常规作业示例.kjb" ^
-level=Debug ^
-logfile "D:\Program Files\pdi-ce-8.1.0.0-365\log\kettlelog.log" ^
-param:"filename=hellokettle" ^
-param:"extend=txt"
执行该批处理文件,运行成功,传参成功,日志写入成功。如果脚本中没有指定参数,则会使用默认参数值去执行作业(注意:Kettle7.x必须要指定所有参数,不会使用默认参数值
):
注意:日志写入是追加方式,不是覆盖写入。
执行资源库中的作业
脚本内容:
@echo off
:: 进入脚本所在目录
cd /D %~dp0
:: 执行Kettle作业的脚本内容
:: 指定命令文件位置,为防止路径中出现空格,路径两侧需要使用双引号包围
"D:\Program Files\pdi-ce-8.1.0.0-365\data-integration\Kitchen.bat" ^
-rep mysql-repo ^
-user admin ^
-pass admin ^
-dir /批处理 ^
-job 资源库作业示例 ^
-level=Debug ^
-logfile "D:\Program Files\pdi-ce-8.1.0.0-365\log\kettle-repo-log.log" ^
-param:"filename=kettle-repo" ^
-param:"extend=data"
执行批处理文件,运行成功,传参成功,日志写入成功:
创建计划任务定时执行Kettle作业
这个就比较简单了,完全是Windows操作方面,打开计划任务窗口,点击创建任务,【常规】选项卡,填写任务名称,运行用户选择SYSTEM
(使用SYSTEM
用户会在后台默认运行,不弹出CMD窗口),勾选【使用最高权限运行】:
【触发器】选项卡,根据需要配置:
【操作】选项卡,配置成要运行的批处理文件:
其他配置项按需配置,保存即可。
计划任务创建完成后,可以手动运行一下,测试作业是否可以正常运行:
本章完!
下一章:使用Java执行Kettle作业