Java 在<&燃气轮机;在爪哇? 公共静态类映射扩展映射器{
我多年来第一次用Java开发。我正在Hadoop中实现一些map reduce方法。有人能解释一下类定义中的Java 在<&燃气轮机;在爪哇? 公共静态类映射扩展映射器{,java,hadoop,Java,Hadoop,我多年来第一次用Java开发。我正在Hadoop中实现一些map reduce方法。有人能解释一下类定义中的的要点吗?它到底在做什么 public static class Map extends Mapper<Text, Text, Text, Text> { 公共静态类TokenizerMapper 扩展映射器{ 私有最终静态IntWritable one=新的IntWritable(1); 私有文本字=新文本(); 公共无效映射(对象键、文本值、上下文 )抛出IOExcept
的要点吗?它到底在做什么
public static class Map extends Mapper<Text, Text, Text, Text> {
公共静态类TokenizerMapper
扩展映射器{
私有最终静态IntWritable one=新的IntWritable(1);
私有文本字=新文本();
公共无效映射(对象键、文本值、上下文
)抛出IOException、InterruptedException{
StringTokenizer itr=新的StringTokenizer(value.toString());
而(itr.hasMoreTokens()){
set(itr.nextToken());
上下文。写(单词,一);
}
}
}
提供了一个非常简洁的分类
public static class TokenizerMapper
extends Mapper<Object, Text, Text, IntWritable>{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
公共类映射器
以你为例
是KEYIN
对象
是VALUEIN
Text
是KEYOUT
Text
是VALUEOUT
intwriteable
Object
类型的键、Text
类型的值,并输出Text
类型的键和IntWritable
类型的值
对于由
绑定的类型也是如此,除了所有内容(键和值)都是Text
,提供了一个非常简洁的分类
public static class TokenizerMapper
extends Mapper<Object, Text, Text, IntWritable>{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
公共类映射器
以你为例
是KEYIN
对象
是VALUEIN
Text
是KEYOUT
Text
是VALUEOUT
intwriteable
Object
类型的键、Text
类型的值,并输出Text
类型的键和IntWritable
类型的值
对于由
绑定的类型也是如此,除了所有内容(键和值)都是Text
看起来像是转换为Text
类型的泛型。但是如果您可以共享映射器
实现,那就太好了。查看它也可以提供详细信息。Map也接受文本字符串输入并输出文本作为输出,而reducer将文本作为输入(从映射阶段获得)从reducer输出文本。我看到我们扩展了mapper,但有一个函数接受实际类型,如上图所示。实际扮演的角色是什么。这在Java中被视为一个参数吗?您会注意到,也有括号表示它们是泛型类型。这就像“填补空白”其他方法应该具有哪些类型。如果您查看Mapper
类中的方法,每个泛型类型都有不同的角色。泛型是在Java 1.5中引入的。如果您上次使用Java之前,这将解释您为什么不认识它们。请参阅of以获得温和的介绍,Angelika Langer的所有介绍rifying edge cases.似乎是一个转换为文本
类型的泛型。但如果您可以共享映射器
实现,那就太好了。查看它也可能会为您提供详细信息。Map接受文本字符串作为输入,并将文本作为输出,而reducer则将文本作为输入(从Map阶段获得)从reducer输出文本。我看到我们扩展了mapper,但有一个函数接受实际类型,如上图所示。实际扮演的角色是什么。这在Java中被视为一个参数吗?您会注意到,也有括号表示它们是泛型类型。这就像“填补空白”其他方法应该具有哪些类型。如果您查看Mapper
类中的方法,每个泛型类型都有不同的角色。泛型是在Java 1.5中引入的。如果您上次使用Java之前,这将解释您为什么不认识它们。请参阅of以获得温和的介绍,Angelika Langer的所有介绍边缘裂痕病例。