1

我想知道如何从 pentaho 水壶中可用的 shell 作业中设置一个变量,该变量可以通过工作流程中的进一步作业(简单评估)访问。

我正在尝试创建一个工作流,其中我有一个 start 元素,它将作为 shelljob 触发以检查文件夹是否存在,如果文件夹存在则设置一个变量。下一个工作是简单评估,它需要检查变量(由 shell 工作设置)是否为真,以继续工作流或终止工作流。

开始-->ShellJob(检查创建的文件夹并设置变量)-->SimpleEvaluation Job。

--MIK

4

1 回答 1

1

好问题。我不知道这种功能,因为“执行 shell 脚本...”步骤并非设计为数据管道。此外,脚本应该/可以返回什么值?它是一个结果echo吗?shell 脚本基本上可以是任何东西。我会说 PDI 中没有内置功能是有原因的。

话虽如此,你可以做的是这样的:

  1. 执行脚本,最后将变量写入文件系统上的文本文件
  2. 创建一个子转换,从您在 shell 脚本步骤中编写的文件中读取变量,然后将它/它们存储在全局范围变量中
  3. 评估工作中的变量

它可能看起来有点麻烦,但它应该为您完成这项工作,因为您要求以一种并非真正设计用于使用的方式使用 Shell 脚本步骤。

这是一个高级实现的示例(子转换的实现应该非常简单):

例如,高级实现

我希望它有所帮助。

于 2015-06-09T14:27:16.227 回答