[
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