这是运行日志:14/10/0700:07:51INFOmapreduce.Job:TaskId:attempt_1412604487349_0002_m_000001_0,Status:FAILEDError:java.lang.ClassCastException:org.apache.hadoop.mapreduce.li...
这是运行日志:
14/10/07 00:07:51 INFO mapreduce.Job: Task Id : attempt_1412604487349_0002_m_000001_0, Status : FAILED
Error: java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.FileSplit
at MatrixPacket.Matrix$MatrixMapper.map(Matrix.java:32)
at MatrixPacket.Matrix$MatrixMapper.map(Matrix.java:1)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
这是Matrix.java 的32行附近代码:
private static int rowM;
@Override
protected void map(Object key, Text value, Context context)
throws IOException, InterruptedException {
FileSplit fileSplit=(FileSplit)context.getInputSplit();//这是第32行
String fileName=fileSplit.getPath().getName();
if(fileName.contains("M")){
String[] tuple=value.toString().split(",");
int i=Integer.parseInt(tuple[0]);
String[] tuples=tuple[1].split("\t");
int j=Integer.parseInt(tuples[0]);
请问怎么修改???
展开