addNamedOutput方法中的multipleOutputs错误



我试图使用multipleOutputs像这个例子在这里

所以我有:

MultipleOutputs.addNamedOutput(job, "out1", TextOutputFormat.class, Text.class, Text.class);
MultipleOutputs.addNamedOutput(job, "out2", TextOutputFormat.class, Text.class, Text.class);

,但我得到以下错误:

The method addNamedOutput(Job, String, Class<? extends OutputFormat>, 
Class<?>, Class<?>) in the type MultipleOutputs is not applicable for the 
arguments (Job, String, Class<TextOutputFormat>, Class<Text>, Class<Text>)

观念吗?

您应该检查您正在导入的API版本,有两个。你应该使用:

org.apache.hadoop.mapreduce.lib.output.MultipleOutputs

不是

org.apache.hadoop.mapred.lib.MultipleOutputs

一般来说,您希望确保所有导入都是一种类型,因此要么是mapred,要么是mapreduce

最新更新