本人刚学MapReduce,照着老师的代码写的,为什么写完之后会报这样的错呢?

java.lang.NumberFormatException: For input string: "MapReduce is powerful is simple"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at InvertedIndexCombiner.reduce(InvertedIndexCombiner.java:13)
	at InvertedIndexCombiner.reduce(InvertedIndexCombiner.java:5)
	at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171)
	at org.apache.hadoop.mapred.Task$NewCombinerRunner.combine(Task.java:1688)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1637)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1489)
	at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:723)
	at org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:2019)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:797)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Reducer;
    import java.io.IOException;
    //对相同key的value值放在一个集合,进行求和
    public class InvertedIndexCombiner extends Reducer<Text,Text,Text,Text> {
        public static Text info=new Text();
        @Override
        protected void reduce(Text key,Iterable<Text>values,Context context)
            throws IOException,InterruptedException {
            int sum=0;//统计词频
            //遍历集合,统计词频
            for(Text value:values){
                sum+=Integer.parseInt(value.toString());
            }
            //获得key
            int splitIndex = key.toString().indexOf(":");
            //有了key和value,然后将其写入上下文中
            //重新设置value值,并且得到文档名称和词频统计
            info.set(key.toString().substring(splitIndex+1)+":"+sum);
            //更新key值为单词
            key.set(key.toString().substring(0,splitIndex));
            context.write(key,info);
        }
    }

    可以运行,但输出什么都没有,只有一个空文件夹

    你占出来的代码的第13行有问题,根据你的报错显示应该就是呢里的问题,你打个断点看下是不是类型没对上,造成NumberFormatException

    意思就是你的第13行的value不是纯数字