我是PDI / Kettle的新手。我需要执行类似于“从雇员选择EMPID”的简单SQL select,并且需要将输出写入“ Microsoft Excel输出”作为报告生成的一部分。
转化流程:
执行SQL语句>> Microsoft Excel输出
执行SQL 声明>>文本文件输出
表输入>> Microsoft Excel输出
表输入>>文本文件输出
任何人都可以帮助我理解这些步骤的行为以及上下文/用例。
答案 0 :(得分:0)
Execute SQL Statement
没有提供任何结果。其目的是使用DDL(数据定义语言)删除/创建/截断/更改表,以及DML(数据操作语言)插入/更新/删除行。
在每个步骤的编码之后,两项检查(以及其他检查)应该成为第二种性质:
Output fields
)。Preview
)。答案 1 :(得分:0)
让我解释一下pentaho pdi(水壶)的一个基本概念:水壶上的所有动作都是连续发生的。如果没有行,将不会执行任何操作。因此,如果您在转换开始时添加了 generate row (生成行)步骤,则其中一个哑行具有一些值,您将看到如何触发sql语句。
pentaho一眼就能在这2个场所中工作:
1一切都是异步的流
2每个动作都在行级别发生。 (无行,无动作) 输入表步骤会生成行,但是execute sql语句不是输入步骤类型,而是转换步骤,并且希望在此步骤之前已经生成行。 我认为这两个基本概念可以帮助您了解ketle的工作原理。
答案 2 :(得分:0)
感谢技术人员分享您的知识。 据我了解,“执行SQL语句”步骤用于执行DDL,DML之类的SQL语句,但执行DML语句时,除了受影响/受影响的记录数(统计)之外,它不会给输出流任何结果
。要跟踪此统计信息,有一些可选字段,例如插入状态,更新状态,删除状态和读取状态,根据您的DML语句,我们可以提供字段名称和受影响的记录数作为值写入该字段。可以在“转换执行结果”下的“预览数据”中注意到这一点。