Pentaho数据集成:如何选择sql查询的输出作为Microsoft Excel输入的文件名。

时间:2014-05-15 18:29:12

标签: pentaho kettle

我在某些文件夹中有文件abc.xlsx,1234.xlsx和xyz.xlsx。我的要求是开发一个转换,其中PDI中的Microsoft Excel输入(Pentaho数据集成)应该只根据sql查询的输出选择文件。如果输出查询是abc.xlsx。 Microsoft Excel输入应该选择abc.xlsx进行进一步处理。我该如何实现这一目标?真的很感谢你的帮助。感谢。

2 个答案:

答案 0 :(得分:1)

Kettle中的转换是异步运行的,所以你可能正在考虑需要一份工作。

要创建的文件

  • 创建一个转换,执行您正在查找的SQL查询,并根据结果填充变量
  • 使用填充为文件名的变量
  • 创建一个从Excel文件中提取数据的转换
  • 创建执行第一次转换的作业,然后进入第二次转换

作业按顺序运行,因此它将执行第一次转换,执行查询,获取结果并设置变量。由于异步性质,需要在不同的转换中设置和检索变量。这就是第二次转型的原因;在第一个转换完成之前,作业不会进入第二个转换(因此,直到填充变量为止)。

这是假设您只想运行转换一次,期望查询得到一个结果。如果你想循环它,从一个集合中提取数据,那么设置就有点不同了。

答案 1 :(得分:1)

Excel输入步骤有一个"接受来自上一步"的文件名。选项。你可以让一个表输入构建你想要读取的文件的完整路径(或者你以后知道基础目录和短文件名以某种方式构建它),将文件名传递给excel输入,勾选该框并指定步骤和您要用于文件名的字段。