了解java中扩展类中的信息?

krcsximq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(336)
public static class Map extends Mapper<Text, Text, Text, Text> {

我这几年来第一次用java开发。我正在hadoop中实现一些map-reduce方法。有人能解释一下这个问题吗 <Text, Text, Text, 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);
      }
    }
  }
d4so4syb

d4so4syb1#

文档提供了一个非常简洁的分解。

public class Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

以你为例。。。 KEYIN
Object VALUEIN
Text KEYOUT
Text VALUEOUTIntWritable 我不精通hadoop,但如果我不得不冒险猜测,你会接受一个类型的键 Object ,类型的值 Text ,并输出类型为的键 Text 和类型的值 IntWritable .
对于由绑定的类型也是如此 <Text, Text, Text, Text> ,除了所有的东西-键和值-都是 Text .

相关问题