java.lang.RuntimeException: java.lang.NoSuchMethodException:


[java] 15/12/19 14:09:46 INFO mapred.JobClient: Task Id : attempt_201512182036_0017_m_000000_0, Status : FAILED
[java] java.lang.RuntimeException: java.lang.NoSuchMethodException: org.lukey.hadoop.tianyi.TianYiBigData$MyMapper.<init>()
[java] at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:115)
[java] at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:719)
[java] at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
[java] at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at javax.security.auth.Subject.doAs(Subject.java:422)
[java] at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
[java] at org.apache.hadoop.mapred.Child.main(Child.java:249)
[java] Caused by: java.lang.NoSuchMethodException: org.lukey.hadoop.tianyi.TianYiBigData$MyMapper.<init>()
[java] at java.lang.Class.getConstructor0(Class.java:3082)
[java] at java.lang.Class.getDeclaredConstructor(Class.java:2178)
[java] at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:109)
[java] ... 7 more

 

需要在MyMapper前面加static。

If the class is an inner class, make sure it's declared static (i.e. doesn't need an instance of the enclosing class). Otherwise, Hadoop cannot instantiate your inner class and will give this same error - that a zero-arg constructor is needed.

http://stackoverflow.com/questions/11446635/no-such-method-exception-hadoop-init


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM