【问题标题】:Pass value from job to transformation in Pentaho在 Pentaho 中将价值从工作传递到转型
【发布时间】:2017-12-19 00:55:50
【问题描述】:

我在 Pentaho PDI 中有如下转换(注意 SQL 语句中的问号):

转换是从作业中调用的。我需要的是在作业运行时从用户那里获取值并将其传递给转换,以便替换问号。

我的问题是,有参数,有参数,有变量,不知道用哪一个。如何使这项工作?

【问题讨论】:

    标签: pentaho pentaho-spoon pentaho-cde pentaho-data-integration


    【解决方案1】:

    karan 的意思是你的 sql 应该看起来像 delete from REFERENCE_DATA where rtepdate = ${you_name_it},并选中 Variable substitution 框。 you_name_it 参数必须在转换选项中声明(单击勺子面板中的任意位置,选项/参数),有或没有默认值。

    运行转换时,系统会提示您一个面板,您可以在其中设置参数值,包括you_name_it

    参数透明地从作业传递到转换,因此您可以将you_name_it 声明为作业的参数。然后当用户运行作业时,会提示给参数列表赋值,包括you_name_it

    实现相同结果的另一种方法是使用参数。问号将替换为Parameters list box 中指定的字段,顺序相同。当然,您使用的字段必须在上一步中定义。在您的情况下,Get variable 步骤读取调用作业中定义的变量,并将它们放在一行中。

    请注意,有一个现成的Delete 步骤可以从数据库中删除记录。指定表名(可以是参数:Crtl+Space在框中)、表列和条件。条件将来自在 Get parameter 中定义的上一步,就像在参数方法中一样。

    【讨论】:

      【解决方案2】:

      您可以使用变量或参数。如果您使用的是变量,请使用

      ${variable1} 
      

      查询中的语法,如果你想使用参数,那么你必须使用?在您的查询中并在“用作参数的字段名称”部分中提及这些参数的名称。两者都会起作用。如果您需要进一步说明,请告诉我。

      【讨论】:

      • 我必须选择一个答案,Alain的更完整,对不起
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      相关资源
      最近更新 更多