国产 ETL 数据仓库调度平台 TASKCTL 对于 Kettle 作业类型的转换使用
Kettle 作业转换
TASKCTL 默认采用 pan 命令方式调度 kettle 转换作业。除此之外,我们还提供了 taskctl-plugin-kettle(Soap 服务)插件的方式驱动 kettle 转换。相比原生的 pan 命令,Soap 服务直接驱动 kettle 核心进行调度。资源消耗更低、速度更快,支持高并发。
安装 taskctl-plugin-kettle 服务
1.确保安装环境(unix/windows)具备 kettle 程序目录
2.下载 taskctl-plugin-kettle_1.2.3.zip,解压后进入目录,执行 install 命令
3.按照 install 程序提示,确定安装信息:
4.安装完毕!生成 cprunsoapktr.sh 文件(注释部分已含调度示例,请查看)。
5.执行 startup 命令启动插件 Soap 服务。
注意:
windows 需以“管理员身份运行”命令。
产品官网:www.taskctl.com
在 Admin 中配置插件
1.拷贝生成的 cprunsoapktr.sh 至调度服务(或代理)端插件目录,例如:
2.更改 ktrjob 作业类型的执行程序为新插件。
至此,taskctl-plugin-kettle 插件的安装与配置过程完毕。
作业是什么
主要属性 xml 标签:
.ktrjob:表示是一个 kettle 转换作业类型
.name: 作业名称,在一个容器(流程或定时器)中不能重复
.progname:被调 kettle 转换作业的完整路径及名称,如下两种情况(资源库/文件系统):当调用资源库时为“资源库路径/转换名称”;当调用文件系统的转换时为“文件目录/转换文件名”
.para:kettle 命名参数,格式为:参数名 1=参数值 1,参数名 2=参数值 2,...
.exppara: kettle 资源库名,资源库用户名,密码等环境信息,与安装时的配置信息一致。
.jobdesc:作业描述信息
调度示例:
调度范例请参考 cprunsoapktr.sh 注释部分
作业在哪里运行
对于单机调度模式来,不用关心作业在哪里运行. 系统缺省就在调度服务本地环境运行。
如果您的作业不在调度服务环境,而是在远程指定代理环境,我们就需要定义 agentid 。
kettle 目前不支持无代理模式。hostuser 属性无效。
控制策略-作业在什么情况下运行
在 TASKCTL 中,一旦您完成以上定义,作业就具备基本的运行条件。对绝大数作业定义来说,无需更多作业控制策略的定义。
如果在一个串并流程中,如果您需要对某些作业做更多的控制,比如:错误自动重跑,特别的执行计划等。这时候,就需要设置更多控制属性。
关于 ktrjob 返回值的申明
对于 ktrjob 返回值,由 ktrjob 对应的驱动插件决定。ktrjob 执行成功返回 0,错误返回 1。
评论