在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
类,其中前两个类LongWritable
和Text
表示Mapper类期望读取的输入键和值 ,而最后两个classes Text
和LongWritable
表示map
方法应该发出的输出键和值类。
此线程讨论更深入地了解了为什么在MapReduce中实现了generics。 此外,此JIRA问题提供了更多信息。