Spoon - 从 txt 文件中读取 SQL 代码并在 DB 上执行

Spoon - read SQL code from txt file and execute on DB

我正在学习使用 Pentaho Spoon 开发 ETL,我还很菜鸟。

我不想将 SQL 操作存储在其文件中,而是希望将它们放在自己的 .sql 文件中。它更容易跟踪 Subversion 上的更改,如果需要,我可以在 DB 管理器上打开 sql 文件并直接执行它。

我该怎么做?我想我可以使用一些组件将 txt 文件读入变量,并使用另一个组件获取该变量并在 DB 上执行它。

实现该目标的最简单方法是什么?

在标准的SQL Table输入中,你可以将查询定义为一个参数${my_query}并且必须定义这个参数(没有${...}修饰) 在转换属性中:右键单击任意位置,select 弹出菜单上的属性,参数选项卡。

每次运行转换时,都会显示参数列表,其中my_query可以覆盖。

要自动化,请按照安装 zip 附带的示例进行操作。在你spoon.bat/spoon.sh的同一个目录下,有一个名为sample的文件夹,里面有一个jobread_all_files或者read all_tables .基本上,此作业列出目录中的文件,并将每个文件放入一个变量中,并将其用作 运行 转换的参数。做起来比解释起来容易得多。