[ 
https://issues.apache.org/jira/browse/HBASE-9112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13728831#comment-13728831
 ] 

Debanjan Bhattacharyya commented on HBASE-9112:
-----------------------------------------------

Well, my mapper extended TableMapper, so ideally that should have been 
considered as a job attribute. But the existing code only picks the output key 
and value classes. It should include job.getMapperClass() too.
                
> Custom TableInputFormat in initTableMapperJob throws ClassNoFoundException on 
> TableMapper
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-9112
>                 URL: https://issues.apache.org/jira/browse/HBASE-9112
>             Project: HBase
>          Issue Type: Bug
>          Components: hadoop2, mapreduce
>    Affects Versions: 0.94.6.1
>         Environment: CDH-4.3.0-1.cdh4.3.0.p0.22
>            Reporter: Debanjan Bhattacharyya
>            Assignee: Nick Dimiduk
>
> When using custom TableInputFormat in TableMapReduceUtil.initTableMapperJob 
> in the following way
> TableMapReduceUtil.initTableMapperJob("mytable", 
>                                                       MyScan, 
>                                                       MyMapper.class,
>                                                       MyKey.class, 
>                                                       MyValue.class, 
>                                                       myJob,true,  
> MyTableInputFormat.class);
> I get error: java.lang.ClassNotFoundException: 
> org.apache.hadoop.hbase.mapreduce.TableMapper
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>       at java.lang.ClassLoader.defineClass1(Native Method)
>       at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>       at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>       at 
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>       at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>       at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> If I do not use the last two parameters, there is no error.
> What is going wrong here?
> Thanks
> Regards

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to