Details
Description
Hi,
I'm trying to parse a XML file in Mapreduce and it was executed correctly and produced the expected output. But when i try to run the same Map reduce job through Oozie workflow, it is creating an empty output file.
My workflow.xml file is below.
===================================
<?xml version="1.0" encoding="UTF-8"?>
<workflow-app xmlns="uri:oozie:workflow:0.2" name="OOzieWorkFlow">
<start to="MR-node" />
<action name="MR-node">
<map-reduce>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${output}"/>
</prepare>
<configuration>
<property>
<name>mapred.mapper.new-api</name>
<value>true</value>
</property>
<property>
<name>mapred.reducer.new-api</name>
<value>true</value>
</property>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>mapreduce.map.class</name>
<value>MyMapper</value>
</property>
<property>
<name>mapreduce.reduce.class</name>
<value>MyReducer</value>
</property>
<property>
<name>mapred.mapoutput.key.class</name>
<value>org.apache.hadoop.io.Text</value>
</property>
<property>
<name>mapred.mapoutput.value.class</name>
<value>org.apache.hadoop.io.Text</value>
</property>
<property>
<name>mapred.output.key.class</name>
<value>org.apache.hadoop.io.Text</value>
</property>
<property>
<name>mapred.output.value.class</name>
<value>org.apache.hadoop.io.Text</value>
</property>
<property>
<name>mapred.input.dir</name>
<value>${input}</value>
</property>
<property>
<name>mapred.output.dir</name>
<value>${output}</value>
</property>
<property>
<name>mapreduce.job.acl-view-job</name>
<value>*</value>
</property>
<property>
<name>oozie.launcher.mapreduce.job.acl-view-job</name>
<value>*</value>
</property>
<property>
<name>oozie.use.system.libpath</name>
<value>true</value>
</property>
<property>
<name>oozie.libpath</name>
<value>${appPath}/lib</value>
</property>
</configuration>
</map-reduce>
<ok to="end" />
<error to="fail" />
</action>
Below is my Job.Properties file
=====================================
nameNode=hdfs://namenodeip:port
jobTracker=jobtrackerip:port
queueName=default
oozie.libpath=${nameNode}/user/oozie/share/lib
oozie.wf.rerun.failnodes=true
oozieProjectRoot=${nameNode}/user/XXX/myprojectpath
appPath=${oozieProjectRoot}
oozie.wf.application.path=${appPath}
input=${nameNode}/user/XXX/inputpath
output=${nameNode}/userXXX/outputpath
Please someone look into this.