簡體   English   中英

是否了解Java中<>中擴展類中的信息?

[英]Understanding the information in an extended class in the <> in Java?

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);
      }
    }
  }

文檔提供了非常簡明的細分。

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

舉個例子...

  • KEYINObject
  • VALUEINText
  • KEYOUTText
  • VALUEOUT是可IntWritable

我不是在Hadoop中的方式熟悉,但是如果我不得不猜的話,你接受型的主要Object ,類型的值Text ,並輸出型的關鍵Text和類型的值IntWritable

對於由<Text, Text, Text, Text>綁定的類型,除了所有內容 (鍵和值)都是Text

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM