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 中随处可用。因此我继续阅读文档。据说存在“变量范围类型”“在根作业中有效”。我的假设是否正确,这是我需要使用的变量范围类型?
不幸的是我对此没有太多经验,我希望你能告诉我这是否是正确的方法?!创建测试环境对我来说需要几天时间。因此,我希望您能给我一个简单的“是的,去做吧”或正确的解决方案。
你的假设是正确的。
Valid in the virtual machine尽管它对于在开发 PC 上进行调试很方便,但请避免在服务器上使用它。
Valid in the parent job当转换(或作业)必须向调用者返回值时使用。
Valid in the grand-parent job尽管我记得它在一些特殊时刻很有用,但很少使用。
Valid in the root job几乎一直使用。
| 归档时间: |
|
| 查看次数: |
4233 次 |
| 最近记录: |