小编典典

在HADOOP映射中使用泛型可减少问题

java

我的问题对于HADOOP用户而言似乎很愚蠢。但是我对在地图减少问题中使用泛型感到困惑,例如“ WORD COUNT”。

我知道,泛型被基本用于类型转换和类型安全。但是我不能在这里将这个概念联系起来。

在字数问题上,

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

        }
    }

}

请任何人在这里让我明白泛型的使用 。如果我在问这个问题时犯了任何错误,请纠正我。

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

谢谢!


阅读 158

收藏
2020-11-30

共1个答案

小编典典

MapReduce在Mapper和Reducer中专门使用泛型来指定期望读入和写出哪种输入和输出。

在这个例子中你指定你的WordCountMapper扩展Mapper与指定的泛型类Mapper<LongWritable, Text, Text, LongWritable>,其中前两类LongWritable,并Text表示 输入键和值
映射器类期待阅读,而最后两节课Text,并LongWritable表示 输出键和值 类的map方法有望散发出来。

通过该线程讨论,可以更深入地了解为什么在MapReduce中实现了泛型。另外,此JIRA问题提供了更多信息。

2020-11-30