Pentaho ETL:数据库连接与表输入

Pentaho ETL:数据库连接与表输入,pentaho,etl,kettle,pentaho-spoon,pdi,Pentaho,Etl,Kettle,Pentaho Spoon,Pdi,我需要通过一些转换将数据库表数据写入文本文件。 从表中检索数据有两个步骤,即表输入和数据库联接。除了“外部连接”选项(如果我理解错误,请纠正我),我看不出它们之间有什么区别。那么,使用哪一个更好呢 环境: 数据库:oracle Pentaho勺子:5.3.*(社区版) 提前感谢。PDI中的表输入步骤用于从数据库表读取数据。查询将执行一次并返回结果集。检查一下 数据库连接的工作原理略有不同。它将允许您根据从上一步接收到的数据执行查询。对于来自上一步的每一行,将替换并执行此步骤中的查询。检查一下 使

我需要通过一些转换将数据库表数据写入文本文件。 从表中检索数据有两个步骤,即表输入和数据库联接。除了“外部连接”选项(如果我理解错误,请纠正我),我看不出它们之间有什么区别。那么,使用哪一个更好呢

环境:

数据库:oracle

Pentaho勺子:5.3.*(社区版)


提前感谢。

PDI中的表输入步骤用于从数据库表读取数据。查询将执行一次并返回结果集。检查一下

数据库连接的工作原理略有不同。它将允许您根据从上一步接收到的数据执行查询。对于来自上一步的每一行,将替换并执行此步骤中的查询。检查一下

使用上述步骤的选择显然取决于您的需求

如果需要从数据库表中获取数据集,则应使用表输入步骤-最佳选择

在这种情况下,您需要在数据库中为每一行运行查询以获取结果,请使用database Join-最佳选择


希望有帮助:)

谢谢。这两个步骤都可以基于上一步运行。但是数据库连接步骤只有在具有上一步骤时才能运行。我现在可以理解了。在没有任何动态参数传递的情况下,使用完全相同的SQL保持所有内容不变,“数据库连接”的执行速度比“表输入”步骤快得多。有什么线索吗?因为“数据库连接”在表步骤中使用prepared语句而不是sting concat。绩效差异显著。