贝尔特霍转型"Execute SQL Statements"与"Table Input"步



我是PDI/Kettle的新手。我需要执行类似于"select EMPID FROM Employee"的简单SQL select,并需要将输出写入"Microsoft Excel output"作为报告生成的一部分。

  1. 当我在转换的"要执行的SQL脚本"部分下的"执行SQL语句">步骤中编写并执行此查询时,它什么也不返回,但转换已完成,没有任何错误。输出文件中未写入任何结果。与步骤"执行行SQL脚本"相同的行为,通过从SQL文件/数据网格读取输入,并将查询作为输入

转换流程:

EXECUTE SQL语句>>Microsoft Excel输出
EXECUTE SQL语句>>文本文件输出

  1. 如果我使用"表输入"步骤并在"SQL"部分下编写查询,它将被执行并给出结果

表格输入>>Microsoft Excel输出
表格输入>>文本文件输出

有人能帮助我理解这些步骤的行为和上下文/用例吗。

感谢技术人员在这方面的知识分享。据我所知,"执行SQL语句"步骤用于执行DDL、DML等SQL语句,但在执行DML语句时,除了受影响/影响的记录数(统计数据(外,它不会给输出流任何结果

为了跟踪此统计信息,有一些可选字段,如插入统计信息、更新统计信息、删除统计信息和读取统计信息,根据您的DML语句,我们可以给出字段名称和受影响的记录数。这些记录将作为值写入该字段。这可以在转换执行结果下的"预览数据"中注意到。

Execute SQL Statement不提供任何结果。其目的是DDL(数据定义语言(删除/创建/截断/更改表,DML(数据操作语言(插入/更新/删除行。

在每一步编码后,两次检查(以及其他检查(应成为第二种性质:

  1. 检查输出列(右键单击步骤,选择Output fields(
  2. 预览结果(右键单击步骤,选择Preview(

让我解释pentho-pdi(水壶(的一个基本概念:水壶上的所有操作都发生在一行中。如果没有行,就不会有任何操作。因此,如果在转换开始时添加生成行步骤,并使用一个具有某个值的伪行,您将看到如何触发sql语句。

一眼望去,pentaho与这2个前提一起工作:

1一切都是异步流

2每个动作都发生在行级别。(无行,无操作(输入表步骤生成行,但execute sql语句不是输入步骤类型,是转换步骤,并且期望在此步骤之前已经生成行。我认为这两个基本概念可以帮助理解双桅帆船是如何工作的。

相关内容

  • 没有找到相关文章

最新更新