Error: java.lang.NumberFormatException: For input string: "1 "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at com.z.SortMapper.map(SortMapper.java:38)
at com.z.SortMapper.map(SortMapper.java:16)
代码如下:
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {//16行
//将V1 分拆为2个数据
String[] split = value.toString().split("\t");
//封装到sb 作为 K2
SortBean sortBean = new SortBean();//创建SortBean对象
//给SortBean赋值(使用set赋值)
//sortBean.setWord(split[0]);
//数组的第一个元素是字母
//sortBean.setNum(Integer.valueOf(split[1]));
//数组的第二个元素是数字
//构造器赋值
SortBean sortBean1 = new SortBean(split[0],Integer.valueOf(split[1]));//38行
//将K2,V2写入上下文
context.write(sortBean,NullWritable.get());
}
}
记录:有时候这个For input string:"1 ",不一定是代码里传入参数的问题,也有可能是传入的数据源里的“1”,如果数据源里取的是"1 ",它也会报For input string: "1 "
毕竟都是传入的参数嘛。