使用参数化表输入的Pentaho Kettle Mapping

时间:2016-02-24 07:19:33

标签: pentaho etl kettle data-integration

我将一个值传递给子转换,子转换取值很好,因为我已经使用java脚本步骤警告它。

但我在子转换步骤中有一个表输入步骤,我需要使用父转换值作为TABLE INPUT步骤的参数来对它运行查询,但它不起作用,作为表输入步骤不了解该领域,我该如何实现这一行为?

我陷入困境,无法继续前进。

剩下的唯一选择是使用 Pentaho JOBS ,但是可以在转化中使用映射吗?

我在子转换中尝试 javascript 中的 setVariable 功能,但没有任何效果。

image for the main transformation

image for the sub transformation

1 个答案:

答案 0 :(得分:2)

我希望你的子变换类似于下图中的变换。您确定要正确传递参数吗?重要的是:

  • Mapping input specification步骤
  • 中使用的参数在Table input中具有相同数量的参数
  • Replace variables in script已检查
  • Insert data from step已填写
  • SQL查询中使用的参数?

Kettle transformation

如果您需要将更多参数传递给table input,则上一步中的参数数量(如果是我的示例,则为Mapping input specification)需要尊重您在表输入中使用的参数数量。然后在查询中多次使用?次。例如。对于3个参数你可能有:

WHERE name = ? AND surname = ? AND age = ?

您还需要尊重参数的顺序来自上一步:

More params