添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文介绍了在CentOS8环境下,如何执行Kettle的KTR脚本,包括上传data-integration到服务器、解压、创建KTR脚本存放目录、上传KTR及JS脚本、运行脚本并解决遇到的MySQL驱动不兼容问题,最终成功执行带有参数的KTR脚本。 摘要生成于 ,由 DeepSeek-R1 满血版支持,

环境 centos8,mysql

1.上传data-integration到服务器

准备data-integration压缩包,通过filezilla上传到linux服务器,此处上传到/var/kettle下

unzip pdi-ce-8.3.0.0-371.zip

3.进入data-integration查看解压后文件是否正常

是否含有pan.sh 或 kitchen.sh 文件

Kitchen——作业执行器 ,是一个作业执行引擎,用来执行作业。

Pan——转换执行器 是一个转换执行引擎,用来执行转换。

4.kettle下新建 ktr存放ktr脚本

5.通过filezilla上传windows环境调试好的ktr脚本

此处我需要js对某些字段进行md5计算后赋值,所以将需要的js脚本文件上传

6.运行ktr脚本

sh /data-integration的安装路径/pan.sh -norep -file=/你的ktr的存放路径/mytest.ktr

sh /var/kettle/data-integration/pan.sh -norep -file=/var/kettle/ktr/mytest.ktr

#### 使用“ 执行 命令行程序”步骤 为了在 Kettle 执行 BAT 脚本 ,可以利用 “ 执行 命令行程序” 步骤来调用外部批处理文件。此方法允许用户指定要运行的命令及其参数。 ```properties # kettle -transformations/batch_execution. ktr 配置示例 <name>Run Batch Script</name> <type>ExecProcess</type> <process>${batch_script_path}</process> </step> 其中 `${batch_script_path}` 是指向目标 `.bat` 文件的位置变量[^1]。 #### 创建并测试批处理文件 确保创建了一个有效的批处理文件,并且该文件可以在操作系统级别正常工作。例如,在 Windows 上创建名为 `example.bat` 的简单批处理文件: ```batch @echo off echo Hello from batch script! pause 保存上述代码至适当位置(如 `D:\scripts\example.bat`),并通过双击验证其能否按预期运行[^2]。 #### 将批处理集成到转换中 打开 Spoon 并新建或编辑现有转换。添加一个 “ 执行 命令行程序 (Exec Process)” 步骤,设置如下属性: - **Command to execute**: 输入完整的路径名加上批处理文件名称,比如 `"D:\scripts\example.bat"`。 - **Working directory**: 如果适用的话,提供批处理所在的目录作为工作空间。 - **Arguments**: 若有额外参数传递给批处理,则在此处定义它们;对于大多数情况,默认为空即可。 完成这些配置之后,可以通过预览模式查看结果或将整个流程部署为作业的一部分[^4]。 #### 自动化与调度 当希望定期自动触发此类任务时,可考虑将转换打包成 Job,并借助定时器或其他自动化机制来启动它。这通常涉及到编写 Shell 或者 PowerShell 脚本 来调用 Kitchen 工具[^5]。 ```bash #!/bin/bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ export PATH=$JAVA_HOME/bin:$PATH cd /path/to/ kettle /directory ./kitchen.sh \ "/file:D:/ kettle /data/example_job.kjb" \ "-level=Basic" 以上 Bash 脚本 展示了如何在 Linux 环境下调用带有特定日志级别的 Kettle Job。 SILHOUETTEBOUNDARY.DLL System.ComponentModel.Composition.ni.dll sasdsi.dll sbpid.dll Sano.Person