Java 不推荐使用MapReduceBase和Mapper
Hadoop 0.20.203中不推荐使用Java 不推荐使用MapReduceBase和Mapper,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,Hadoop 0.20.203中不推荐使用MapReduceBase、Mapper和JobConf 我们现在应该用什么 编辑1-对于Mapper和MapReduceBase,我发现我们只需要扩展Mapper public static class Map extends MapReduceBase implements Mapper 编辑3-根据新的API,我发现了一个很好的教程:Javadoc包含了关于如何使用这些已被删除的类的信息: e、 g 编辑:当您使用maven和OpenClass
MapReduceBase
、Mapper
和JobConf
我们现在应该用什么
编辑1-对于Mapper
和MapReduceBase
,我发现我们只需要扩展Mapper
public static class Map extends MapReduceBase implements Mapper
编辑3-根据新的API,我发现了一个很好的教程:Javadoc包含了关于如何使用这些已被删除的类的信息: e、 g
编辑:当您使用maven和OpenClass declaration(F3)时,maven可以自动下载源代码,您将看到带有解释的javadoc注释的内容。旧API和新API之间没有太大不同,只是旧API支持push-to-map/reduce函数,而新API支持。尽管如此,新的API更加干净,易于开发 下面是介绍新API的示例。此外,旧的API已经出现在0.21中,将在中被弃用
您可以找到有关新API或有时称为“上下文对象”的更多信息。文档中说您应该使用什么?通常,当某些东西被弃用时,Javadoc会告诉您应该使用什么。配置为+1。谢谢
public static class Map extends Mapper
<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output,
Reporter reporter) throws IOException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
output.collect(word, one);
}
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = new Job(conf);
job.setMapperClass(WordCount.Map.class);
}
Deprecated. Use Configuration instead