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

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

环境:

数据库:甲骨文

Pentaho Spoon:5.3.*(社区版)

提前致谢。

【问题讨论】:

    标签: pentaho etl kettle pentaho-spoon pdi


    【解决方案1】:
    PDI 中的

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

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

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

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

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

    希望对你有帮助:)

    【讨论】:

    • 谢谢。这两个步骤都可以基于上一步运行。但是数据库连接步骤只有在有上一步的情况下才能运行。我现在可以理解了。
    • 在不传递任何动态参数的情况下使用完全相同的 SQL 保持所有内容相同,“数据库连接”的执行速度比“表输入”步骤快得多。任何线索为什么?
    • 因为“数据库连接”在 Table 步骤中使用准备好的语句而不是 sting concat。性能差异很大。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2017-06-07
    • 2017-02-15
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多