Pentaho Execute Process 似乎没有启动脚本文件
Pentaho Execute Process doesn't seem to launch script files
我是 Pentaho 的新手,并且对如何从 Pentaho 执行 shell/batch 文件做了相当多的研究。大多数在线信息都在 'Execute Shell' 步骤上,这在 v6.
中不存在
如何使用 'Execute a Process' 步骤 运行 shell 脚本?
这是我正在做的,但脚本无法启动:
- 将'Execute a Process'步拖入转换window
- 编辑步骤
- 在进程字段中插入可执行文件的完整路径(/home/root/pdi/script.sh on Linux 或 C:\Users\admin\pdi\script.bat on Windows,两种平台都试过了)
- 启动作业
脚本真的很简单
mkdir new_folder
任务完成,新文件夹没有出现。所描述的步骤就是我正在做的。我错过了什么吗?
我使用 PDI 6.0.0.0-353 并且只想从 PDI 创建 运行ning shell/batch 个文件的程序。
非常感谢,因为我不知道还能在哪里寻找教程或信息,而且我被困在这个简单的步骤中。
编辑:
如果我指定了错误的文件名,我会得到相同的结果,就好像没有任何问题一样。就像它甚至没有触及脚本一样。在 Process Field 中放置可执行文件的路径是否正确?
- 2015/11/25 12:51:14 - Spoon - Transformation opened. 2015/11/25
- 12:51:14 - Spoon - Launching transformation [proc]... 2015/11/25
- 12:51:14 - Spoon - Started the transformation execution. 2015/11/25
- 12:51:14 - proc - Dispatching started for transformation [proc]
- 2015/11/25 12:51:14 - Spoon - The transformation has finished!!
文件夹可能创建在您认为的其他地方。暂时将您的脚本更改为:
echo Current Directory=%CD%
mkdir new_folder
dir
pause
与许多其他步骤一样,对从上一步返回的每一行执行此步骤。因此,如果您没有前面的步骤,那么您的 "Execute a process" 步骤永远不会执行。
- 请在 "Execute process step" 之前添加一些输入步骤(例如,数据网格步骤)。并将其与您的 "Execute a process" 步骤连接(在输入步骤上按鼠标中键,拖动到 "Execute a process" 步骤,释放鼠标按钮)。
"Process Field" 应该包含输入数据集字段的名称。该字段的值将被解释为 shell 命令。
- 如果您使用数据网格作为输入步骤,请在您的数据网格步骤中创建新的字符串字段。然后在步骤的 "Data" 选项卡上创建一些行,并将命令作为字段的值。最后,编辑您的 "Execute a process":将您创建的字段名称放入 "Process Field"。然后运行你的转型。
一些注意事项:据我所知,您必须在 Windows 中的 shell 命令之前添加 cmd.exe /C
。例如。
cmd.exe /C echo "Hello, world">d:\test.log
。关于文件夹:您的当前目录很可能是您 运行 您的 spoon.sh 或 spoon.bat.
的文件夹
我是 Pentaho 的新手,并且对如何从 Pentaho 执行 shell/batch 文件做了相当多的研究。大多数在线信息都在 'Execute Shell' 步骤上,这在 v6.
中不存在如何使用 'Execute a Process' 步骤 运行 shell 脚本?
这是我正在做的,但脚本无法启动:
- 将'Execute a Process'步拖入转换window
- 编辑步骤
- 在进程字段中插入可执行文件的完整路径(/home/root/pdi/script.sh on Linux 或 C:\Users\admin\pdi\script.bat on Windows,两种平台都试过了)
- 启动作业
脚本真的很简单
mkdir new_folder
任务完成,新文件夹没有出现。所描述的步骤就是我正在做的。我错过了什么吗?
我使用 PDI 6.0.0.0-353 并且只想从 PDI 创建 运行ning shell/batch 个文件的程序。
非常感谢,因为我不知道还能在哪里寻找教程或信息,而且我被困在这个简单的步骤中。
编辑: 如果我指定了错误的文件名,我会得到相同的结果,就好像没有任何问题一样。就像它甚至没有触及脚本一样。在 Process Field 中放置可执行文件的路径是否正确?
- 2015/11/25 12:51:14 - Spoon - Transformation opened. 2015/11/25
- 12:51:14 - Spoon - Launching transformation [proc]... 2015/11/25
- 12:51:14 - Spoon - Started the transformation execution. 2015/11/25
- 12:51:14 - proc - Dispatching started for transformation [proc]
- 2015/11/25 12:51:14 - Spoon - The transformation has finished!!
文件夹可能创建在您认为的其他地方。暂时将您的脚本更改为:
echo Current Directory=%CD%
mkdir new_folder
dir
pause
与许多其他步骤一样,对从上一步返回的每一行执行此步骤。因此,如果您没有前面的步骤,那么您的 "Execute a process" 步骤永远不会执行。
- 请在 "Execute process step" 之前添加一些输入步骤(例如,数据网格步骤)。并将其与您的 "Execute a process" 步骤连接(在输入步骤上按鼠标中键,拖动到 "Execute a process" 步骤,释放鼠标按钮)。
"Process Field" 应该包含输入数据集字段的名称。该字段的值将被解释为 shell 命令。
- 如果您使用数据网格作为输入步骤,请在您的数据网格步骤中创建新的字符串字段。然后在步骤的 "Data" 选项卡上创建一些行,并将命令作为字段的值。最后,编辑您的 "Execute a process":将您创建的字段名称放入 "Process Field"。然后运行你的转型。
一些注意事项:据我所知,您必须在 Windows 中的 shell 命令之前添加 cmd.exe /C
。例如。
cmd.exe /C echo "Hello, world">d:\test.log
。关于文件夹:您的当前目录很可能是您 运行 您的 spoon.sh 或 spoon.bat.