gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 16:58:20 26 4
gpt4 key购买 nike

我的问题对 HADOOP 用户来说似乎很愚蠢。但是我对在像“WORD COUNT”这样的 map reduce 问题中使用 Generics 感到有点困惑。

我知道泛型基本上用于类型转换和类型安全。但我不能在这里联系这个概念。

在字数统计问题中,

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)。但我仍然不清楚,为什么泛型在这里用于键值对。不是还有其他方法可以做同样的事情。 在这里使用泛型有什么好处?

谢谢!

最佳答案

MapReduce 在 Mapper 和 Reducer 中专门使用泛型来指定预期读入和写出的输入和输出类型。

在示例中,您指定了 WordCountMapper延伸Mapper具有指定泛型的类 Mapper<LongWritable, Text, Text, LongWritable>前两个类在哪里 LongWritableText表示 Mapper 类期望读取的输入键和值,而最后两个类 TextLongWritable表示 输出键和值map方法预计会发出。

thread讨论可以更深入地了解为什么在 MapReduce 中实现了泛型。另外,这个 JIRA Issue提供更多信息。

关于java - 在 HADOOP 映射中使用泛型减少问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27209976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com