在Oozie中将参数从一个动作传递到另一个动作
我有一个以下shell脚本:
DATE= date +"%d%b%y" -d "-1 days"
如何将DATE
传递给Java操作?
您可以捕获shell脚本的输出并将其传递给java action。在shell脚本中,回显属性,如’dateVariable = $ {DATE}’,并在shell操作中添加capture-output元素。 这将允许您从shell脚本捕获dateVariable。在java操作中,您可以将捕获的变量作为参数传递为$ {wf:actionData(’shellAction’)[‘dateVariable’]},其中shellAction是shell操作名称。
示例工作流程: –
${jobTracker} ${nameNode} test_script.sh ${nameNode}/${workFlowLocation}/Scripts/test_script.sh#test_script.sh com.test.TestDriver ${wf:actionData('shellAction')['dateVariable']} Job failed, error message[${wf:errorMessage(wf:lastErrorNode())}]
在shell脚本中,回显如下的值
echo "dateVariable=${dateValue}"
- Hadoop 1.2.1 – 多节点集群 – 对于Wordcount程序,Reducer阶段是否挂起?
- 由于java.io.NotSerializableException:org.apache.spark.SparkContext,Spark作业失败
- 执行中出现Hadoop错误:键入map中的键不匹配:期望org.apache.hadoop.io.Text,收到org.apache.hadoop.io.LongWritable
- 从windows eclipse运行Mapreduce(yarn)时出错
- 在本地/远程集群上运行java hadoop作业
- 运行Hadoop时如何避免OutOfMemoryException?
- 象鸟mvn包错误
- 如何将Hadoop Path对象转换为Java File对象
- 使用saveAsTextFile的Spark NullPointerException