如何合并Kettle中的两个(或更多)转换流?

时间:2013-03-01 19:16:46

标签: stream kettle

我们有几个表存储报告的二进制blob及其元数据。我想做一份总结这些表格内容的报告。我已经为每个表创建了一个转换,它们都输出相同的变量。然后我有一个转换,读取值然后格式化并将它们写入XML文件。

每个表转换都与输出转换一起使用。但是,如果我将它们全部指向输出转换,那么似乎只有其中一个工作,并且结果只反映一个表(我假设它们各自运行,但它们会相互覆盖)。

所以,我假设我需要以某种方式将流合并在一起。我不想将其硬编码到表转换中,因为我希望将它们保持可重用和解耦。我也不想将其硬编码到报告编写器中,因为每当我需要仅对一部分表进行报告时,我都需要将其弄乱。

我尝试使用“Join \ Merge Rows”或“Flow \ Append”流,但这些似乎在作业级别不可用,并且您似乎无法在其他转换中嵌入转换。< / p>

这在水壶中是否可能? 4.1版本怎么样?如果没有,是否是较新的版本?

我的工作看起来像这样。我的所有表转换当前都使用“将行复制到结果”,编写器正在使用“从结果中获取行”。

      Table1
      /    \
     /      \
 Start      Output Report
     \      /
      \    /
      Table2

1 个答案:

答案 0 :(得分:1)

您无法合并作业中的流。作业并不是真正意图进行并行处理,我甚至不确定当你像你一样分割流时可能会发生什么(你可以在工作中做一些基本的分支,但就是这样)。您需要在转换中执行此操作,即使这意味着您只需创建一个包含调用转换的步骤的包装器作业,就可以了。