我试图使用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
。