我想要做一些简单的事情,像使用管道|在Oozie的动作
echo 'my text' | grep my
在Oozie的外壳行动。
Oozie的似乎不能够处理的|
作为参数。
有没有人能够得到一个|
内Oozie的工作?
我想要做一些简单的事情,像使用管道|在Oozie的动作
echo 'my text' | grep my
在Oozie的外壳行动。
Oozie的似乎不能够处理的|
作为参数。
有没有人能够得到一个|
内Oozie的工作?
不寻找如何重写shell脚本的帮助。我尝试了所有不同的方式来自己绕过管道。 oozie根本无法接受任何东西,而不仅仅是一个简单的命令,然后是参数。 – bhomass 2014-12-12 18:40:51
我深深凝望Oozie的。它会自动生成一个包装来执行你输入的命令,显然这个包装除了带有参数的简单命令之外不能处理任何东西。
你可以在这样的工作流程得到解决Oozie的有限的外壳功能用的包装外壳:
<action name="shell-node-pipe">
<shell xmlns="uri:oozie:shell-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>bash</exec>
<argument>-c</argument>
<argument>/bin/echo my test | grep my</argument>
<capture-output />
</shell>
<ok to="end" />
<error to="fail" />
</action>
这样,庆典的“-c”选项用来调用包含一个管道命令。
这是否会产生错误?如果是这样,它会说什么? – 2014-12-04 08:07:45
它在|之前执行第一部分并退出。在|的某些组合中和脚本,它说非法的论点。 – bhomass 2014-12-12 18:41:42