我是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”参数是什么意思?它对应什么?
为什么它的类型是可长写的?
我花了好几个小时找医生,有人能帮忙吗?
1条答案
按热度按时间5lwkijsr1#
钥匙的类型是
LongWritable
因为wordcount程序将输入作为TextInputFormat
根据javdocTextInputFormat
纯文本文件的输入格式。文件被分成几行。换行符或回车符用于表示行结束。键是文件中的位置,值是文本行。。根据定义,假设你的文本是
然后Map器的输入是
密钥:
1
价值:We are fine.
密钥:14
价值:How are you?
(包括换行符在内的第一行大约有13个字符,因此行位置为14)密钥:
28
价值:All are fine.
(包括换行符在内的第二行中还有大约13个字符,因此自文件开始后的行位置是28)