我正在尝试运行 Oozie (v4.3.0) 流程,在我的一项工作中,我有多个输入和每个输入的多个映射器。这是它在 Driver 类中的样子:
MultipleInputs.addInputPath(job, new Path(args[0]), TextInputFormat.class, LeftMapper.class);
MultipleInputs.addInputPath(job, new Path(args[1]), TextInputFormat.class, RightMapper.class);
但在 Oozie workflow.xml 中,根据this和this ,它可能看起来像:
<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