我创造了一个 Mapper
使用语法:
public class xyz extends MapReduceBase implements Mapper<LongWritable, Text, Text, Text>{
-----
public void map(LongWritable key, Text value,
OutputCollector<Text, Text> output, Reporter reporter)
--
}
在作业中,我创建了一个作业对象:
Job job = new Job(getConf());
对于此作业,我无法使用以下方法添加Map器类:
job.setMapper(xyz);
错误消息:
The method setMapperClass(Class<? extends Mapper>) in the type Job is not applicable for the arguments (Class<InvertedIndMap1>)
我不能把Map用在Map上 Mapper
就像我用的 outputCollector
以及 Reporter
在 mapper
.
在工作中,如果我使用 JobConf
而不是像这样的工作:
JobConf conf = new JobConf(getConf());
那么 conf.setMapper(xyz)
正在工作。
但无法使用以下方法设置输入路径:
FileInputFormat.addInputPaths(conf,new Path(args[0]));
错误消息:
The method addInputPaths(Job, String) in the type FileInputFormat is not applicable for the arguments (JobConf, Path)
我试过了 setInputPaths
, setInputpath
, addInputPath
. 但同样的错误再次出现。同样的错误也发生在 addOutputPath/SetOuputpath
.
请为这个问题提出一个解决方案。
2条答案
按热度按时间bf1o4zei1#
您基本上混合了两个导入,mapred(旧的)和mapreduce(新的)
eqqqjvef2#
我想问题是你们进口的不合适
FileInputFormat
. 我想你需要换一个具有