将 pentaho 数据整合从 5.3 升级到 9.2 后,我的 pentaho ETL 作业(.kjb)文件无法工作

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

我曾经在 PDI 社区版本 5.3 中使用如下所示的厨房运行 Pentaho ETL 作业

./kitchen.sh -rep=repo1 -file=/var/lib/jenkins/project/path/etl/Job1.kjb

将 PDI 社区版升级到 9.2 后,相同的 ETL 作业显示以下错误

**Error Log:**

2022/03/02 05:00:28 - Job1 - Start of job execution
2022/03/02 05:00:28 - Job1 - Starting entry [sub_job_1]
2022/03/02 05:00:28 - sub_job_1 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : Error running job entry 'job' :
2022/03/02 05:00:28 - sub_job_1 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : org.pentaho.di.core.exception.KettleException:
**2022/03/02 05:00:28 - sub_job_1 - Unexpected error during job metadata load
2022/03/02 05:00:28 - sub_job_1 -
2022/03/02 05:00:28 - sub_job_1 - Unable to load the job from XML file [/var/lib/jenkins/project/path/etl/sub_job_1.kjb.kjb]**
2022/03/02 05:00:28 - sub_job_1 -
2022/03/02 05:00:28 - sub_job_1 - File [file:///var/lib/jenkins/project/path/etl/sub_job_1.kjb.kjb] does not exists.**
2022/03/02 05:00:28 - sub_job_1 -
2022/03/02 05:00:28 - sub_job_1 -
2022/03/02 05:00:28 - sub_job_1 -
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.entries.job.JobEntryJob.getJobMeta(JobEntryJob.java:1467)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.entries.job.JobEntryJob.getJobMeta(JobEntryJob.java:1385)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.entries.job.JobEntryJob.execute(JobEntryJob.java:695)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.Job.execute(Job.java:693)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.Job.execute(Job.java:834)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.Job.execute(Job.java:503)
2022/03/02 05:00:28 - sub_job_1 - at org.pentaho.di.job.Job.run(Job.java:389)
2022/03/02 05:00:28 - sub_job_1 - Caused by: org.pentaho.di.core.exception.KettleXMLException:
2022/03/02 05:00:28 - sub_job_1 - Unable to load the job from XML file [/var/lib/jenkins/project/path/etl/sub_job_1.kjb.kjb]

错误是在每个作业末尾额外添加 .kjb 扩展名

kettle pentaho-data-integration pdi
3个回答
0
投票

这个问题是重复的,正如我已经在Doesn't able to run job(kjb) in Pentaho Data Integration 9.2中问过的那样,您是否检查过Job1.kjb中指向sub_job_1的条目具有正确的路径?您是否尝试过使用 Pentaho 9.2 编辑 Job1.kjb 并手动重新输入 sub_job_1 的路径以确保扩展名 .kjb 不重复?


0
投票

我现在也遇到同样的问题。

这真的很奇怪,我不知道为什么,但只有当我有工作时它才会中断,然后工作中有工作步骤。对于调用另一个转换的转换步骤,它不会中断。

更奇怪的是,当我编辑某些作业的文件路径时,它修复了它们,但我不必对所有作业步骤执行此操作,或者如果我对某些步骤执行此操作,尽管文件已存在,但该步骤仍然损坏存在。

如果我了解更多,我会编辑这篇文章,但这就是我现在所学到的全部。

不知道为什么版主删除了我之前的帖子,希望得到解释。

无论如何,当我将完整路径放入作业步骤时,一切正常。我建议这样做,你就可以开始了。


0
投票

在厨房命令输入中从 -file 切换到 -job 并删除作业文件中的 .kjb 扩展名解决了该问题。

之前:

./kitchen.sh -rep=repo1 -file=/var/lib/jenkins/project/path/etl/Job1.kjb

之后:

./kitchen.sh -rep=repo1 -job=/var/lib/jenkins/project/path/etl/Job1
© www.soinside.com 2019 - 2024. All rights reserved.