oozie支持使用EL(expression language)表达式。
返回第一个不为空的值,如果都为null,则返回null
拼接两个字符串,如果一个为null,拼接的字符串为空
替换正则表达式匹配的位置。如果regex为null,则什么也不做。如果replacement为null,则替换为空串
把append字符串添加到切分后的字符串中。比如appendAll("a,b,c","123",",")
将会返回a123,b123,c123
。append为null代表返回空串,delimiter为null,代表什么也不做。
给指定的字符串去除空格
URL解码
返回当前的时间戳,并格式化为yyyy-MM-ddTHH:mmZ
,到分钟粒度。
把Map返回成json,这在获取前一个action的输出内容时比较有用。比如wf:actionData(String actionName)格式化为json
把Map返回成Java Properties
把Map返回成Configuration
获取当前工作流节点的id
获取当前工作流的名称
获取当前工作流workflow.xml所在的目录
返回当前工作流的属性值
返回启动当前工作流的用户
返回当前工作流的组
返回当前工作流的回调,stateVar可以指定成某个状态,也可以传一个参数可以在远程进行替换
返回工作流的状态
返回当前工作流退出的状态
返回特定node的错误代码
返回出错的主要信息
返回当前工作流任务的标志,0代表正常
返回指定节点输出的内容,需要配合<capture-output>
标签使用
返回节点的外部id
返回当前节点的uri
返回指定节点的外部状态
<workflow-app xmlns="uri:oozie:workflow:0.2" name="pig-wf">
<start to="pig-node"/>
<action name="pig-node">
<pig>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/pig"/>
</prepare>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
</property>
</configuration>
<script>id.pig</script>
<param>INPUT=/user/${wf:user()}/${examplesRoot}/input-data/text</param>
<param>OUTPUT=/user/${wf:user()}/${examplesRoot}/output-data/pig</param>
</pig>
<ok to="java1"/>
<error to="fail"/>
</action>
<action name="java1">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<main-class>MyTest</main-class>
<arg> ${wf:actionData("pig-node")["hadoopJobs"]}</arg>
<capture-output/>
</java>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Pig failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
判断指定的URI是否存在
判断是否是目录
返回指定目录下的所有文件的大小。如果不是目录,返回-1。它不支持嵌套,只能返回下面一层的文件大小
返回指定文件的大小,如果不是文件,返回-1
返回指定文件占用的block大小。如果不是file,返回-1