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

Posted

技术标签:

【中文标题】Pentaho ETL:数据库连接与表输入【英文标题】:Pentaho ETL : Database Join vs Table Input 【发布时间】:2015-07-18 07:04:59 【问题描述】:

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

环境:

数据库:甲骨文

Pentaho Spoon:5.3.*(社区版)

提前致谢。

【问题讨论】:

【参考方案1】: PDI 中的

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

数据库连接的工作方式略有不同。它将允许您根据从上一步收到的数据执行查询。对于从上一步进来的每一行,这一步中的查询将被替换并被执行。检查wiki。

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

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

如果您需要在数据库中对每一行运行查询以获取结果,请使用数据库连接 - 最佳选择。

希望对你有帮助:)

【讨论】:

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

以上是关于Pentaho ETL:数据库连接与表输入的主要内容,如果未能解决你的问题,请参考以下文章

多个 Pentaho 转换“变量?”

从 Pentaho 数据集成连接到 MongoDB

如何动态传递数据库连接属性以连接到 pentaho 中的不同数据库

「集成架构」ETL工具大比拼:Talend vs Pentaho

无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库

Pentaho ETL 和数据分析器是不错的选择吗?