我正在尝试在oozie中配置Mapreduce作业。此作业有两种不同的输入格式和两个输入数据文件夹。我用过这篇文章How to configure oozie workflow for multi-input path with multiple mappers 并将这些属性添加到我的workflow.xml:
<property>
<name>mapred.input.dir.formats</name>
<value>folder/data/*;org.apache.hadoop.mapred.SequenceFileInputFormat\,data/*;org.apache.hadoop.mapred.TextInputFormat</value>
</property>
<property>
<name>mapred.input.dir.mappers</name>
<value>folder/data/*;....PublicMapper\,data/*;....PublicMapper</value>
</property>
但是当作业启动时,我有以下错误:“在作业中没有指定输入路径。”
有没有人可以帮助我?
THKS
答案 0 :(得分:2)
您需要设置一些其他属性:
<property>
<name>mapreduce.inputformat.class</name>
<value>org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat</value>
</property>
<property>
<name>mapreduce.map.class</name>
<value>org.apache.hadoop.mapreduce.lib.input.DelegatingMapper</value>
</property>
答案 1 :(得分:1)
我今天遇到了同样的问题,所以我使用了以下属性。
<property>
<name>mapreduce.inputformat.class</name>
<value>org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat</value>
</property>
<property>
<name>mapreduce.map.class</name>
<value>org.apache.hadoop.mapreduce.lib.input.DelegatingMapper</value>
</property>
<property>
<name>mapreduce.input.multipleinputs.dir.formats</name>
<value>/first/input/path;org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat,/second/input/path;org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat</value>
</property>
<property>
<name>mapreduce.input.multipleinputs.dir.mappers</name>
<value>/first/input/path;com.first.Mapper,/second/input/path;com.second.Mapper</value>
</property>
区别于mapred.input.dir.formats
和mapred.input.dir.mappers
,而不是我分别使用mapreduce.input.multipleinputs.dir.formats
和mapreduce.input.multipleinputs.dir.mappers
的旧map-reduce API的一部分。之后代码运行得很好。我在Hadoop 1.2.1和Oozie 3.3.2上运行它。