在HADOOP地图中使用generics可以减少问题

我的问题似乎对HADOOP用户来说很愚蠢。 但是我很少混淆Generics在地图缩小问题中的使用,比如“WORD COUNT”。

我知道generics用于类型铸造和类型安全的bascialy。 但我不能把这个概念联系起来。

在字数统计问题上,

public class WordCountMapper extends Mapper { @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { // TODO Auto-generated method stub ... } } } 

请允许任何人清除我在这里使用generics 。 如果我在提出这个问题时犯了任何错误,请纠正我。

我现在理解这里使用的generics是键值对(KEY IN,VALUE IN,KEY OUT,VALUE OUT)。 但我仍然不清楚,为什么generics在这里用于键值对。 没有其他方法可以做同样的事情。 在这里使用Generics有什么好处?

谢谢!

MapReduce特别在Mapper和Reducer中使用Generics来指定预期读入和写出的输入和输出类型。

在示例中,您已指定WordCountMapper使用指定的genericsMapper扩展Mapper类,其中前两个类LongWritableText表示Mapper类期望读取的输入键和值 ,而最后两个classes TextLongWritable表示map方法应该发出的输出键和值类。

此线程讨论更深入地了解了为什么在MapReduce中实现了generics。 此外,此JIRA问题提供了更多信息。