Kettle转换的所有步骤并行运行

nik*_*aus 1 parallels transformation kettle

我真的是Kettle的新手。当我在转换中使用“设置变量”步骤时,我会读到此内容。“水壶转换中的所有步骤并行运行”。我想知道这怎么可能。

例如,我有一个仅包含两个步骤的转换:A从csv文件读取数据,B将这些数据写入xml文件。如果这两个步骤并行运行,那么B在A读取数据之前如何将数据写入xml?

任何答案将不胜感激。

Cod*_*dek 5

它就是它所说的。转换开始时,所有步骤均同时开始。然后,它们具有一个输入“缓冲区”或一个通常为50k行的行集。

所以; 第一步读取了前50k行后,它们将填充缓冲区,下一步将在第一个步骤仍在读取的同时开始处理这些行。

等等等等。

在您的示例中,当从CSV读取前50k行时,它将开始用这些行写入XML,同时仍在读取接下来的50k。

这就是为什么必须在先前的转换中使用设置变量并将其与作业捆绑在一起的原因。

性能调整pdi作业时,关键的事情之一就是确定链中哪一步最慢。值得庆幸的是,性能指标的东西使这变得非常容易!

此外,如果需要,您也可以运行多个步骤副本,例如用于写入数据库的步骤等。