Kettle 6.0.1.0 中的 "Serial Single Threaded" 类型的转换引擎是什么?

What is "Serial Single Threaded" type of Transformation Engine in Kettle 6.0.1.0?

我是 Kettle 工具的新手,发现了一个可以更改 "Transformation Engine Type" 的转换 属性。谁能帮我理解 "Transformation Engine Type" 的意思,如果选择 "Serial Single Threaded",转换的行为会发生什么变化?

默认情况下,PDI 转换并行启动所有步骤。所以,如果你有 4 个步骤的转换,

Table input --> Dimension lookup --> Calculator --> Table output

每个步骤都会在行到达时对其进行处理。 Table 输入将几千行的第一个块发送到维度查找,查找立即开始。如果您有大量数据,您将有 4 个线程连续做一些工作,并且数据行从一个线程传递到下一个线程。

这是正常现象,也是引擎的优势之一。

但是,您可能会遇到这样一种情况:您的转换非常大,有几十个步骤,但每个步骤只做很少的工作。在这种情况下,并行化执行的开销不会得到回报,最终许多线程不得不等待 CPU 时间。在这种情况下,您最好选择单线程执行模型,在该模型中,同一线程中的所有步骤 运行 和数据都是串行处理的。

哪个更好在很大程度上取决于您的具体用例,并且没有什么可以替代实际尝试并比较它们的速度。