# 高级任务执行教程

以创建一个kettle脚本同步演示一下高级任务的执行,其他shell/python/powershell/php/NodeJS等语言的脚本都可以以同样的方式配置运行。

  • 步骤说明 创建转换,然后创建作业,在作业中可以多个转换先后执行(示例里只有一个),然后使用kettle的kitchen执行作业的脚本,配置在调度中心进行调度。

# 第一步:创建转换

# 解压kettle

在开发个人电脑打开(可以不用在服务器上),windows用spoon.bat ,linux下用 spoon.sh avatar

# 新建转换

双击转换,或者点击文件-新建-转换 avatar

# 添加调用DB存储过程对象

左键点击拉到编辑窗口 avatar

# 新建数据库连接

点击主对象-DB连接,右键点击-新建 avatar

# 输入数据库连接信息

根据数据库类型输入对应的连接信息 avatar

# 选择存储过程

双击调用存储过程对象,选择数据库连接,输入存储过程名称,点击确定 avatar

# 保存转换

双击调用存储过程对象,选择数据库连接,输入存储过程名称 avatar

# 第二步:创建作业

# 新建作业

文件-创建-作业 avatar

# 选择节点

把开始-转换-结束节点拉到右边编辑窗口 avatar

# 选择转换,连线

按shift键拉线从开始到结束,双击转换,选择第一步保存的转换文件(注意:发布到服务器要使用服务器的路径:/opt/kettle/cjscript/转换文件名.ktravatar

# 保存作业

命名后保存作业文件即可

# 第三步:上传脚本文件

# 上传

上传第一步和第二步保存的转换和作业文件到服务器 avatar

# 第四步:配置调度任务

# 登录

输入账号密码点击确定 avatar

# 新增任务

点击任务管理-新增 avatar

# 编辑新增任务的内容

  • 名称和负责人根据业务输入
  • 邮件选填,支持任务失败邮件通知
  • 定时策略:选择固定速度,输入数字,单位是秒,调度策略是x秒运行一次,其他场景选择cron,用cron表达式控制定时调度策略
  • 阻塞策略: 选择丢弃旧任务,不会大量定时任务排队执行,根据业务需要选择。 avatar

# 编辑任务执行脚本

  • 点击对应任务的操作-GLUE-IDE avatar
  • 录入执行脚本:
#!/bin/bash
/opt/kettle/data-integration/kitchen.sh -file=/opt/kettle/cjcscript/chw_test_o.kjb log=/chwdata/kettlelog/chw_test.log

avatar

# 保存任务执行脚本

  • 点击保存,输入当前版本注释,点击确定 avatar

# 启动调度任务

  • 点击对应任务的操作-启动,即可启动任务调度 avatar

# 附:快速创建转换和作业

# 转换

同一个数据库创建了一个转换后,可以直接复制文件,用文本编辑器打开,修改存储过程名称即可。 avatar

# 作业

可以直接复制作业文件,用文本编辑器打开,修改作业的转换完全路径即可。 avatar