【发布时间】:2017-10-12 12:41:54
【问题描述】:
我有一个在 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 中随处可用。因此,我继续阅读文档。据说存在“变量范围类型”“在根作业中有效”。我的假设是否正确,这是我需要使用的变量范围类型?
很遗憾,我在这方面没有太多经验,我希望你能告诉我这是否是正确的方法?!创建一个测试环境对我来说需要几天时间。因此,我希望你能给我一个简单的“是的,去吧”或正确的解决方案。
【问题讨论】:
标签: kettle pentaho-data-integration