Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的MapReducer不工作,无法获取输出_Java_Hadoop_Mapreduce_Dataset_Output - Fatal编程技术网

Java 我的MapReducer不工作,无法获取输出

Java 我的MapReducer不工作,无法获取输出,java,hadoop,mapreduce,dataset,output,Java,Hadoop,Mapreduce,Dataset,Output,我想得到的输出是:每个类的幸存者总数..示例类1-45,类2-34。。 我的代码有什么问题 我假设您的“类”是逗号分隔数据中的最后一个数字。如果是这种情况,那么您将错误的值指定为键 "","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,9

我想得到的输出是:每个类的幸存者总数..示例类1-45,类2-34。。 我的代码有什么问题

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

"","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
在发出映射器输出时,您不必初始化新的文本对象,因为您之前已经这样做了

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

这应该能解决你的问题。干杯。

仍然出现相同的问题。Reducer没有启动,它显示空输出。16/04/08 21:10:26信息mapreduce.作业:跟踪作业的url:但我可以看到拆分的数量。甚至没有创建临时文件。是否在驱动程序中设置减速器类?你能分享驱动程序代码吗?用你的驱动程序文件更新问题。校正后的映射器和还原器看起来很好。
    String Line=value.toString();
    String[] elements=Line.split(",");
    int surv=Integer.parseInt(elements[1]);
    Text clas=new Text(elements[5]); //instead of elements[4]
    context.write(clas, new IntWritable(surv));