Pentaho API - 无法解析作业中转换的路径?

问题描述 投票:0回答:2

我在 Pentaho 9.1 中构建了一个包含许多转换的工作。我的所有 .kjb 和 .ktr 文件都位于本地文件存储库中,并已导出到服务器上的企业存储库。通过登录到服务器并将作业添加到 pentaho 用户控制台中的调度程序,以及连接到本地 PDI 客户端中的存储库并选择服务器的运行配置,我可以毫无问题地在服务器上执行作业。但是,当我尝试通过 API 中的

runJob/
端点执行该作业时,该作业会中断。起初,这项工作似乎开始得很好,但一旦进入第一次转换,我就会收到此错误:

Opening transformation: [null] in directory [<directory>]
ERROR : Unable to run job <jobName>. The transformation has an error. The transformation path <path to transformation> is invalid, and will not run successfully.
ERROR : org.pentaho.di.core.exception.KettleXMLException
当我尝试通过 pentaho API 执行作业时,

此转换的路径会导致问题。在服务器上运行作业的其他方法不会产生此结果。我尝试为转换创建新的运行配置以及配置企业存储库,但尚未成功。企业存储库当前配置为默认设置。还有其他人遇到过这个问题吗?对于我正在从事的项目,我需要能够通过 API 运行该作业,但我不确定要尝试什么,也不知道在哪里可以找到有关该主题的良好文档。

pentaho kettle pentaho-data-integration
2个回答
0
投票

您可以使用环境变量

${Internal.Job.Filename.Directory}
${Internal.Transformation.Filename.Directory}
来获取当前作业或转换目录。

例如,使用

${Internal.Job.Filename.Directory}/your_transformation.ktr

进行转换

查看内部变量文档,了解更多可能有用的变量。

您还可以使用 Shell 作业条目或 获取系统信息 步骤来运行命令行参数并获取目录数据。


0
投票

你解决过这个问题吗?我在 pentaho 9.3 中也遇到同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.