Pentaho数据集成“设置变量中的变量范围类型”

DS8*_*S87 1 kettle pentaho-data-integration

我有一项在 PDI 中运行的作业,该作业将数据从不同源传输到不同目标,然后返回特定系统。这个工作有很多子工作。我们将其称为 Job MasterJob1。

我们有相同的系统用于另一个目的。因此,我想在 PDI 中复制该作业。在这里我只需要更改一些设置。我们称之为 MasterJob2。

为了使不同的变量可用于整个作业(也在主作业的父作业、子作业等中),我们使用“设置变量”。在这里,我们有很多不同的变量。假设有一个变量称为 TestVar。目前,MasterJob1 中这些变量的“变量范围类型”始终设置为“在 Java 虚拟机中有效”。

根据 PDI 文档http://wiki.pentaho.com/display/EAI/Set+Variables,这意味着变量在虚拟机中随处可用。据我理解,这意味着,如果我复制作业并让“变量范围类型”保持原样,则变量 TestVar 可以由 MasterJob1 写入,但也可以由 MasterJob2 覆盖。

我绝对想避免 MasterJob1 可以覆盖 MasterJob2 的变量,反之亦然。但是,MasterJob1 中设置的变量必须在 MasterJob1 中随处可用,MasterJob2 中设置的变量必须在 MasterJob2 中随处可用。因此我继续阅读文档。据说存在“变量范围类型”“在根作业中有效”。我的假设是否正确,这是我需要使用的变量范围类型?

不幸的是我对此没有太多经验,我希望你能告诉我这是否是正确的方法?!创建测试环境对我来说需要几天时间。因此,我希望您能给我一个简单的“是的,去做吧”或正确的解决方案。

Ala*_*inD 5

你的假设是正确的。

Valid in the virtual machine尽管它对于在开发 PC 上进行调试很方便,但请避免在服务器上使用它。

Valid in the parent job当转换(或作业)必须向调用者返回值时使用。

Valid in the grand-parent job尽管我记得它在一些特殊时刻很有用,但很少使用。

Valid in the root job几乎一直使用。