Hadoop映射器参数的含义

Hadoop映射器参数的含义,hadoop,mapreduce,mapper,Hadoop,Mapreduce,Mapper,我是Hadoop新手,对参数有疑问: 有关字数示例,请参见下面的代码段: public static class TokenizerMapper extends Mapper<LongWritable, Text, Text, IntWritable> { ..... public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedExce

我是Hadoop新手,对参数有疑问: 有关字数示例,请参见下面的代码段:

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

   .....

   public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException 
   {
       .......
   }
}
公共静态类TokenizerMapper
扩展映射器{
.....
公共void映射(LongWritable键、文本值、上下文上下文)引发IOException、InterruptedException
{
.......
}
}
我知道“value”参数是从文件中读取的行,但“key”参数是什么意思?它对应什么

为什么它的类型是可长写的


我搜索文档浪费了几个小时,有人能帮忙吗?

键的类型是
longwriteable
,因为wordcount程序将输入作为
TextInputFormat

根据for
TextInputFormat

纯文本文件的输入格式。文件被分成几行。 换行符或回车符用于表示换行结束。 键是文件中的位置,值是文本行

根据定义,假设您的文本是

We are fine.
How are you?
All are fine.
然后,映射器的输入是

键:
1
值:
我们很好。

键:
14
值:
你好吗?
(包括换行符在内的第一行大约有13个字符,所以行位置是14)


键:
28
Value:
一切正常。
(第二行包括换行符在内大约还有13个字符,因此文件开头的行位置是28)

顺便说一句,使用的输入键和值完全取决于输入格式