如何在oozie决策节点中使用dirSize()EL函数

时间:2016-07-07 10:34:38

标签: el oozie

我尝试在oozie决策节点中使用dirSize()。但它不起作用。

当我在决策节点中使用${fs:dirSize(InputDir) gt 10 * KB}时。 oozie工作流程状态将移至失败状态,并且不会显示错误。

请在下方找到工作流程中的代码段。

<action name="L1_check" cred="hcat_creds">
<hive xmlns="uri:oozie:hive-action:0.2">
    <job-tracker>${jobTracker}</job-tracker>
    <name-node>${nameNode}</name-node>
    <script>l1_check_code.sql</script>
    <param>PI_DB=${PI_DB}</param>
    <param>PRD_DB=${PRD_DB}</param>
    <param>PROMO_START_DATE=${PROMO_START_DATE}</param>
    <param>PROMO_END_DATE=${PROMO_END_DATE}</param>
    </hive>
<ok to="decision-node" />
<error to="fail" />
</action>


<decision name="decision-node">
    <switch>
        <case to="L1_exists">
            ${fs:dirSize(InputDir) gt 10 * KB}
        </case>
        <default to="fail"/>
    </switch>
</decision>

InputDir是属性文件中定义的,路径存在。

第一个动作L1_check执行并转换到决策节点。然后工作流程状态更改为“失败”状态。

使用函数的方式有错误吗?如果是,应该使用什么功能?

还有一种方法可以给出一个带有参数和字符串组合的路径 例如:dirSize(InputDir / l1_check) 其中InputDir是参数,l1_check是静态名称

0 个答案:

没有答案