testing - 从 pentaho pdi 中的输入表捕获执行的 sql

标签 testing pentaho

我正在使用 pentaho 进行数据迁移测试。我已经设置了一个“表输入”步骤,其中“表输入”中查询的许多部分都是变量。我一直在寻找一种在运行时执行后捕获该查询的方法。 我想知道 sql 是否有任何特定的系统日志变量,或者它是否与元数据有关。需要帮忙!谢谢

最佳答案

也许以下方法会有所帮助:

  • 我们假设转换读取 CSV 文件以获取 SELECT 语句的动态部分(例如列)并使用它设置变量 columns

enter image description here

  • 第二个转换使用此变量生成 SELECT 语句并将其存储到变量 sql_statement 中。

enter image description here

  • 在主转换中,我们使用${sql_statement} 作为表输入的SELECT 语句,并将数据写入输出文件(可以说是业务流程)。从相同的输入,我们复制输出到另一个路径。在那里,我们将当前时间添加为一个字段(使用元素“获取系统数据”),我们添加生成的 SQL 语句,将它们作为笛卡尔积连接起来,并将结果按 sql_statement 分组。这样我们就可以计算第一次和最后一次使用该语句的时间。这些结果被写入一个文本文件。

enter image description here

  • 我们最不需要的是按顺序调用三个转换的作业。

enter image description here

这是一个示例输出:

sql_statement;min_time;max_time
SELECT my_column FROM test_table;2014/05/08 00:41:21.143;2014/05/08 00:41:21.144

关于testing - 从 pentaho pdi 中的输入表捕获执行的 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23520942/

相关文章:

testing - Spring Boot Web 应用的负载测试工具

java - 如何使用 Junit 测试长数组?

Azure 电子邮件测试工具

java - 无法访问远程 pentaho 双服务器

java - 使用 Java 自定义 Pentaho Spoon 组件

nginx - Pentaho 在 nginx 服务器后面

unit-testing - 测试最佳实践 : For CRUD api

mysql - 使用 pentaho Spoon 更新数据库中的每日数据

osgi - 由于未解析的依赖关系,无法启动 bundle pdi-dataservice-server-plugin 的蓝图容器

java - deploymentURL 未注入(inject)到与 Arquillian Drone 的集成测试中