从Pentaho水壶中的shell脚本设置varible,可以通过更多工作访问

时间:2015-05-28 07:11:34

标签: pentaho kettle pdi

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

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

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

- MIK

1 个答案:

答案 0 :(得分:0)

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

话虽如此,你能做的就是这样:

  1. 执行一个脚本,最后将变量写入文件系统上的文本文件
  2. 创建一个子转换,从您在shell脚本步骤中编写的文件中读取变量,然后将它/它们存储在全局范围变量中
  3. 评估作业中的变量
  4. 这可能看起来有点麻烦,但是它应该为你完成这项工作,因为你要求以一种它的设计方式使用Shell Script步骤。

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

    example, high-level implementation

    我希望它有所帮助。