我的MapReducer不工作 - 没有输出

时间:2016-04-08 15:23:52

标签: java hadoop mapreduce dataset output

"","survive","cases","age","sex","class"
"1",1,1,0,0,1
"2",13,13,0,0,2
"3",14,31,0,0,3
"4",5,5,0,1,1
"5",11,11,0,1,2
"6",13,48,0,1,3
"7",140,144,1,0,1
"8",80,93,1,0,2
"9",76,165,1,0,3
"10",57,175,1,1,1
"11",14,168,1,1,2
"12",75,462,1,1,3

的数据集

a

我希望输出为:每个类的幸存者总数。示例类1-45,类2-34 ..     我的代码出了什么问题。

1 个答案:

答案 0 :(得分:0)

我假设您的“类”是逗号分隔数据中的最后一个数字。如果是这种情况,则错误地将错误的值指定为键。

    String Line=value.toString();
    String[] elements=Line.split(",");
    int surv=Integer.parseInt(elements[1]);
    Text clas=new Text(elements[5]); //instead of elements[4]

发出映射器输出时,您不必初始化新的Text对象,因为您之前已经这样做了。

    context.write(clas, new IntWritable(surv));

这应该可以解决您的问题。欢呼声。