You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Debanjan Bhattacharyya (JIRA)" <ji...@apache.org> on 2013/08/02 19:05:49 UTC

[jira] [Commented] (HBASE-9112) Custom TableInputFormat in initTableMapperJob throws ClassNoFoundException on TableMapper

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

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

It seems the addDependencyJars method in TableMapReduceUtil needs to add TableMapper.class. I overrode it and it worked. Need a confirmation that this is truly the case, which will mean that it is most likely a bug.
                
> 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
>    Affects Versions: 0.2.0
>         Environment: CDH-4.3.0-1.cdh4.3.0.p0.22
>            Reporter: Debanjan Bhattacharyya
>
> 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