hadoopMap器参数的含义

8nuwlpux  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(355)

我是hadoop新手,对参数有一个问题:对于单词计数示例,请参见下面的代码段:

public static class TokenizerMapper
   extends Mapper<LongWritable, Text, Text, IntWritable> {

   .....

   public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException 
   {
       .......
   }
}

我知道“value”参数是从文件中读取的行,但是“key”参数是什么意思?它对应什么?
为什么它的类型是可长写的?
我花了好几个小时找医生,有人能帮忙吗?

5lwkijsr

5lwkijsr1#

钥匙的类型是 LongWritable 因为wordcount程序将输入作为 TextInputFormat 根据javdoc TextInputFormat 纯文本文件的输入格式。文件被分成几行。换行符或回车符用于表示行结束。键是文件中的位置,值是文本行。。
根据定义,假设你的文本是

We are fine.
How are you?
All are fine.

然后Map器的输入是
密钥: 1 价值: We are fine. 密钥: 14 价值: How are you? (包括换行符在内的第一行大约有13个字符,因此行位置为14)
密钥: 28 价值: All are fine. (包括换行符在内的第二行中还有大约13个字符,因此自文件开始后的行位置是28)

相关问题