您的位置:首页 > 运维架构

Hadoop NullPointerException

2014-03-24 19:16 579 查看
今天在写一个MapReduce的程序时,遇到了一个java.lang.NullPointerException。具体的错误信息如下:

java.lang.NullPointerException

at org.apache.hadoop.io.serializer.SerializationFactory.getSerializer(SerializationFactory.java:73)

at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:797)

at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:524)

at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:613)

at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)

at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)

经过自己一段时间的调试没有任何结果,后来在网上浏览了一段时间,找到了解决问题的方法。
出现这种错误多半是map或者reduce中的数据类型出错了。例如:Text,IntWritable等。

解决方法:

确定map和reduce中的数据类型是否正确,各个环节的key/value的类型是否匹配,包括job驱动中同import导入的数据

类型是否正确。我出现这种错误的原因就是Text的类型通过eclipse自动导入的时候,导入的是javax.xml.soap.Text不是org.apache.hadoop.io.Text。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: