目的
kettle开发过程中,我们本地可以使用可视化界面进行开发和调试,如果要推到生产上定时执行,我们可以借助开源任务调度框架,达到定时执行的目的
环境
window:11
kettle:9.3
jdk:8
xxljob:least
架构
xxljob调度器独立部署
xxljob执行器和kettle压缩包放到一台机器部署
调度器调度执行器执行,执行器通过脚本的方式,调用kettle脚本,从而执行任务或者转换
实践
1. 下载xxljob源码 https://gitee.com/xuxueli0323/xxl-job.git,修改配置文件中数据源为可用数据源,并启动xxl-job-admin模块和xxl-job-executor-sample-springboot模块,分别是调度器admin和执行器
2. 下载kettle https://udomain.dl.sourceforge.net/project/pentaho/Pentaho-9.3/client-tools/pdi-ce-9.3.0.0-428.zip
解压文件并点击Spoon.bat脚本启动编辑器
3. 点击kettle编辑器,点击右上角资源库,创建【Other Repositories】选择文件资源库,并链接资源库。我创建的资源库名称为file
4. 创建转换或者任务保存到资源库中,比如 demo.ktr,放入目录ktr下
5. 访问xxljob的admin后台,会看到执行器
6. 点击任务管理菜单,创建任务并保存
7. 编写调度脚本
脚本内容为
C:\java\data-integration\pan.bat -rep file -user admin -pass admin -dir /ktr -trans demo
Write-Host "Good bye!"
exit 0
大功告成
提示
资源库不能少,不然会报空指针,pan.bat -rep 这个参数为指定资源库。为了文件资源库,也可以使用关系型数据库作为资源库,在创建资源库的时候选择