Pentaho Execute Process似乎没有启动脚本文件

时间:2015-11-25 12:13:59

标签: shell batch-file pentaho

我是Pentaho的新手,并且已经开始研究如何从Pentaho执行shell /批处理文件。大多数在线信息都在“执行Shell”步骤中,这一步骤在v6中不存在。

如何使用“执行进程”步骤运行shell脚本?

以下是我正在做的事情,但脚本无法启动:

  • 将“执行流程”步骤拖到转换窗口
  • 编辑步骤
  • 在Process Field中插入可执行文件的完整路径(Linux上的/home/root/pdi/script.sh或Windows上的C:\ Users \ admin \ pdi \ script.bat,尝试了两个平台)
  • 启动工作

脚本非常简单

mkdir new_folder

任务完成,不显示新文件夹。所描述的步骤就是我正在做的。我错过了什么吗?

我使用PDI 6.0.0.0-353,只想建立从PDI运行shell / batch文件的程序。

非常感谢,因为我不知道在哪里寻找教程或信息,我坚持这个简单的步骤。

编辑: 如果我指定了错误的文件名,我会得到相同的结果,好像没有错。就像它甚至没有触及剧本一样。在Process Field中将路径放入可执行文件是否正确?

  
      
  • 2015/11/25 12:51:14 - Spoon - 转型开启。 2015年11月25日
  •   
  • 12:51:14 - Spoon - 启动转型[proc] ... 2015/11/25
  •   
  • 12:51:14 - Spoon - 开始转型执行。 2015年11月25日
  •   
  • 12:51:14 - proc - 为转换开始调度[proc]
  •   
  • 2015/11/25 12:51:14 - 勺子 - 转型已经结束!!
  •   

2 个答案:

答案 0 :(得分:4)

对于从上一步返回的每一行,执行此步骤与许多其他步骤一样。因此,如果您没有上一步,那么您的执行流程"步骤永远不会执行。

  • 请在您的"执行流程步骤"之前添加一些输入步骤。 (例如,数据网格步骤)。并将其与您的"执行流程"步骤(在输入步骤上按鼠标中键,拖动到"执行一个过程"步骤,释放鼠标按钮)。

"流程领域"应该包含输入数据集的字段名称。该字段的值将被解释为shell命令。

  • 如果您使用数据网格作为输入步骤,请在数据网格步骤中创建新的字符串字段。然后在"数据"上创建一些行。步骤的选项卡并将命令作为字段的值。最后,编辑您的"执行流程":将您创建的字段的名称放入"处理字段"。然后运行转换。

一些注意事项:AFAIK,您必须在Windows中的shell命令之前添加cmd.exe /C。例如。 cmd.exe /C echo "Hello, world">d:\test.log。关于文件夹:很可能,您当前的目录将是文件夹,您可以从中运行spoon.sh或spoon.bat。

答案 1 :(得分:0)

文件夹可能会在您想到的地方以外的地方制作。暂时将脚本更改为:

echo Current Directory=%CD%
mkdir new_folder
dir
pause