Hadoop映射器参数的含义



我是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"参数是什么意思? 它对应什么?

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

我通过搜索文档浪费了几个小时,有人可以帮忙吗?

键的类型是 LongWritable,因为字数统计程序将输入作为TextInputFormat

根据JavDoc for TextInputFormat

纯文本文件的输入格式。文件被分成几行。 换行或回车用于发出行尾信号。 键是文件中的位置,值是文本行。

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

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

然后输入到映射器是

键:1值:We are fine.

键:14 值:How are you?(第一行包括换行符在内大约有 13 个字符,因此行位置为 14(

键:28 值:All are fine.(第二行包括换行符在内大约有 13 个字符,因此自文件开始以来的行位置为 28(

最新更新