我试图运行Oozie(v4.3.0)流程,在我的一个作业中,我为每个输入提供了多个输入和多个Mapper。这就是它在Driver类中的外观:
MultipleInputs.addInputPath(job, new Path(args[0]), TextInputFormat.class, LeftMapper.class);
MultipleInputs.addInputPath(job, new Path(args[1]), TextInputFormat.class, RightMapper.class);
但根据this和this,在Oozie workflow.xml中看起来很像:
<property>
<name>mapred.input.dir.mappers</name>
<value>
${left};com.pge.mapreduce.join.LeftMapper,${right};com.pge.mapreduce.join.RightMapper
</value>
</property>
<property>
<name>mapred.input.dir.formats</name>
<value>
${left};org.apache.hadoop.mapreduce.lib.input.TextInputFormat,${right};org.apache.hadoop.mapreduce.lib.input.TextInputFormat
</value>
</property>
但这对我不起作用,我收到错误
作业
中未指定输入路径
UPD
job.properties
:
nameNode=maprfs:///
jobTracker=maprfs:///
queueName=default
examplesRoot=demo-flow
userName=mapr
left=${nameNode}/user/${userName}/${examplesRoot}/left.csv
right=${nameNode}/user/${userName}/${examplesRoot}/right.csv