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);
}
}
}
1条答案
按热度按时间d4so4syb1#
文档提供了一个非常简洁的分解。
以你为例。。。
KEYIN
是Object
VALUEIN
是Text
KEYOUT
是Text
VALUEOUT
是IntWritable
我不精通hadoop,但如果我不得不冒险猜测,你会接受一个类型的键Object
,类型的值Text
,并输出类型为的键Text
和类型的值IntWritable
.对于由绑定的类型也是如此
<Text, Text, Text, Text>
,除了所有的东西-键和值-都是Text
.