水壶转换中的所有步骤并行运行

时间:2013-01-08 14:11:40

标签: transformation kettle parallels

我对水壶真的很陌生。当我在转换中使用“设置变量”步骤时,我读到了这一点。 “水壶变换中的所有步骤并行运行”。我想知道这怎么可能。

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

任何答案都将不胜感激。

1 个答案:

答案 0 :(得分:5)

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

因此;当第一步读取它的前50k行时,它们将填充缓冲区,然后下一步将开始处理这些行,而第一步仍在读取。

依此类推,等等......

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

这就是为什么必须在之前的转换中使用set变量并将其与作业绑定在一起。

性能调整pdi作业的关键之一是识别链中哪个步骤最慢。值得庆幸的是,性能指标让这很容易!

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