每 n 行执行一次 Kettle

Kettle Execute for every n row

在作业中,您可以在流程中进行转换并将其设置为对每一行执行。

有没有办法让每 n 行执行一次转换?

我希望能够将一批 n 行传递给转换。

最好的(任何,真正的)方法是什么?

谢谢。

有可能。 当您 select 在作业中进行转换时,只需打开转换属性。 在那里你会发现第一个选项叫做 Execute every input row,默认情况下它会被禁用,只需启用它。它会起作用。

是的。让您的作业调用将充当 parent/controller 的转换 A,并使用转换执行器步骤让转换 A 调用转换 B。在此步骤中,您可以在 'Row grouping' 选项卡下指定每次传递给转换 B 的行数,如图所示。

您的内部转换 (B) 需要从一个可以从 A 接收行的步骤开始;我在我的一些工作中使用了 'Get rows from result' 步骤来完成此操作。