如何在Pentaho中的转换内的步骤之间传递变量

问题描述 投票:0回答:1

我想设计一个ETL工作作为attachment.enter image description here

第1步将设置两个变量Variable_1Variable_2。我正在使用Generate Rows步骤来执行此操作,我在Fields中定义了两个变量。

第2步将通过SQL查询从数据库中读取日期。我正在使用Table input来实现这一目标。而sql就像select Variable_3 from table1这是一个单一的值。此处的预览显示该值已从数据库中成功读取。

我希望第3步作为Modified Java Script Value,我想使用这3个变量并进行一些计算以得到输出Variable_4,然后我想将其传递给将来的转换以供在那里使用。

我是Pentaho的新手并且有以下问题:

1)当我将步骤2(数据库步骤)连接到步骤3(Javascript步骤)时,我收到一个警告对话框:

我们检测到具有不同字段数的行,这在转换中是不允许的。第一行包含2个字段,另一个包含1个字段

这个警告意味着什么?我究竟做错了什么?如何将2个变量从第1步和第1步从第2步传递到我的javascript步骤?

2)如何在我的Javascript步骤中设置计算的Variable_4以便在其他转换中进一步使用?我在Transformation 1上定义一个名为Variable_4的参数并从javascript设置它吗?如果有,怎么样?

pentaho kettle spoon
1个回答
0
投票

我通过删除第一步(Generate Rows创建两个变量)解决了这个问题,并在Table View步骤之后添加了一个Add Constants步骤,以便从Table View步骤中向变量3和变量3添加传递给它的变量3。

最后,我在Javascript步骤中提供了所有3个变量。

我仍然无法弄清楚问题2)。

© www.soinside.com 2019 - 2024. All rights reserved.