Java Hadoop mapreduce中的奇怪输出

Java Hadoop mapreduce中的奇怪输出,java,map,hadoop,reduce,out,Java,Map,Hadoop,Reduce,Out,这是输入文件中的一个示例: 1,name1,name2 2,name3,name4 3,name5,name6 这是我的映射方法: public void map(LongWritable key, Text value, OutputCollector<Text, Text> output, Reporter reporter) throws IOException { String line = value.toString(); StringTokeni

这是输入文件中的一个示例:

1,name1,name2 
2,name3,name4 
3,name5,name6
这是我的映射方法:

public void map(LongWritable key, Text value, OutputCollector<Text, Text> output, Reporter reporter) throws IOException 
{
    String line = value.toString();
    StringTokenizer tk = new StringTokenizer( line, ",");       
    String keyValue = tk.nextToken();
    String s1Value = tk.nextToken();
    String s2Value = tk.nextToken();
    String valueString = s1Value+","+s2Value;
    output.collect( new Text(keyValue), new Text(valueString) );
}
但我得到的是:

name1 & name2=1.0  &  =0.0
看起来一直都有两个空字符串被比较!!
为什么总是有空字符串?

它应该注意“比较(s1,s2)”的代码;
请粘贴比较功能的代码。

它应该注意“比较(s1,s2)”的代码;
请粘贴比较函数的代码。

计数器转储对映射器输出记录的数量和reducer方法的数量有何说明?它说:两者都有13行,因为我在输入文件中有13行,我希望每一行都被单独处理..计数器转储对映射器输出记录的数量和reducer方法的数量说明了什么?它说:两者都是13,因为我在输入文件中有13行,我希望每一行都被单独处理..“比较”代码类似于任何比较两个字符串的代码,它返回编辑距离(例如)或两个字符串在0-1之间的比例相似程度。“比较”代码类似于任何比较两个字符串的代码,它返回编辑距离(例如)或两个字符串在0-1之间的比例相似程度。
name1 & name2=1.0  
name1 & name2=1.0  &  =0.0