【问题标题】:Pentaho Data Integration "Variable scope type" in Set Variables设置变量中的 Pentaho 数据集成“变量范围类型”
【发布时间】: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


    【解决方案1】:

    你的假设是正确的。

    避免将Valid in the virtual machine 用于服务器上的作业,尽管它对于在您的开发 PC 上进行调试很方便。

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

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

    几乎一直使用Valid in the root job

    【讨论】:

    • 感谢您的快速帮助和回复。已经实现了它,看起来它工作得很好:-)
    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    相关资源
    最近更新 更多