Kettle的GUI变量范围vs"修改的Java脚本值" setVariable()范围

时间:2015-08-09 00:57:51

标签: pentaho kettle

我使用Modified Java Script Values步骤调用setVariable(my_var, my_val, "r");"r"含义" root"变量范围)

这很有效,除非我的作业调用另一个为其定义参数的作业,其中这些参数与setVariable var名称中指定的名称相同。

实施例

  • 主要工作步骤
    1. 转型
      • 有调用setVar("my_var", "2", "r");
      • 的步骤
    2. 辅助作业(参数my_var,其默认值为" 1")
      • 转型
        • 读取my_var的值,即" 1",而不是" 2"

但是,如果我在运行主要作业之前从内部指定my_var的值到GUI,它将正确设置为我在GUI中指定的任何内容。

在范围中指定的GUI中指定的变量是否高于" Root"?这些变量如何传递到我的辅助作业,但在通过setVariable()分配变量时却不这样做?

1 个答案:

答案 0 :(得分:0)

在Javascript步骤中使用setVariable或使用Set Variables步骤以相同的方式工作。

有一个更全局的范围,“在JVM中有效”,在通过编辑/编辑环境变量菜单选项定义变量时使用。