qq_关怀天下_0
2020-02-05 21:42
不知道哪个地方有问题,我按照老师的模板写的啊
java.lang.NullPointerException at com.hadoop.dataclean.datacleanmap.map(datacleanmap.java:27)
根据这个错误提示,可以看出来是datacleanmap.java的第27行代码出现了空指针异常,这个属于原始数据有问题了,需要排查一下原始数据
还有就是通过System.out.println(id);能在日志中打印出来,说明代码本身没有问题,由于某些行的数据有问题导致在解析数据的时候失败了,这里的数据是json格式的,要仔细看一下数据格式,可以把原始数据文件中的数据行数做一个删减,只保留一两行数据测试一下
为啥我编译后的结果比元数据查询的反而多了一个???检查了“空格”也没问题。
这个我已经解决了,是因为函数没有对空行进行处理,导致报空指针异常。可以通过#grep "^$" video.log |wc -l,统计一下空行的行数,然后把空行删掉就可以解决了。或者你吧源代码里面关于空行的处理进行一下改进。
求大神指点
现在把代码按照老师讲解重写了一遍,但是运行的时候报获取字段方法错误:
String id = jsonObj.getString("uid"); 但是通过System.out.println(id);能在日志中打印出来,真的不知道怎么办了 2020-02-06 17:20:56,950 INFO mapreduce.Job: Task Id : attempt_1580976866673_0005_m_000000_2, Status : FAILEDError: java.lang.NullPointerException at com.hadoop.dataclean.datacleanmap.map(datacleanmap.java:27) at com.hadoop.dataclean.datacleanmap.map(datacleanmap.java:13) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:799) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)
弄了两天还是没做出来,不知道哪的原因,一直显示任务有问题,不确定是日志的合适错误还是代码有问题,求大神帮忙看看
快速入门Hadoop3.0大数据处理
16784 学习 · 74 问题
相似问题