Pentaho:在转换中重用逻辑

问题描述

如何在转换中重用逻辑?

现在,转换看起来像这样:

Read file 1 --> Step 1 --> Step 2 -->  ... --> Step n --> Write file 1
Read file 2 --> Step 1 --> Step 2 -->  ... --> Step n --> Write file 2
...
Read file 50 --> Step 1 --> Step 2 -->  ... --> Step n --> Write file 50

所有输入文件的转换逻辑(Step 1 to Step n)都相同。

我想拥有的是:

Read file 1 --> Call Transformation logic --> Write file 1
Read file 2 --> Call Transformation logic --> Write file 2
...
Read file 50 --> Call Transformation logic --> Write file 50

Transformation logic:= Step 1 --> Step 2 -->  ... --> Step n

我知道有映射(子转换)步骤。 但是,我最终将得到两个.ktr文件:一个用于父转换(包含文件输入,子转换调用和文件输出),另一个用于子转换(包含步骤1至n)。

我不想仅出于重新使用步骤1至n的目的将转换分为两个文件。那么如何在不以两个.ktr文件结尾的情况下使用映射(子转换)步骤的功能?

非常感谢。

解决方法

在SSIS中,我们有一个循环容器,循环容器中的每个步骤都将执行到循环结束。

但是在PDI中,我们没有任何循环容器。您必须使用两次转换才能完全满足您的要求。 或者,如果可能的话,您可以使用JavaScript步骤编写条件。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...