出现java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.web.visit.main.ClickVist$VisitMapper.<init>()的问题

 

执行mapreduce报错java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.web.visit.main.ClickVist$VisitMapper.<init>(),

原因是map类和reduce没有加static修饰,因为hadoop在调用map和reduce类时采用的反射调用,内部类不是静态的,没有获取到内部类的实例

 

解决方法

1.在内部类加上static修饰

 

2.将内部类改成外部类

 

posted @ 2018-02-19 14:36  知识小书包  阅读(1443)  评论(0编辑  收藏  举报