[ https://issues.apache.org/jira/browse/HBASE-8386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14276338#comment-14276338 ]
Nick Dimiduk commented on HBASE-8386: ------------------------------------- Yeah, this should probably be taken care of. Are you volunteering? ;) > deprecate TableMapReduce.addDependencyJars(Configuration, class<?> ...) > ----------------------------------------------------------------------- > > Key: HBASE-8386 > URL: https://issues.apache.org/jira/browse/HBASE-8386 > Project: HBase > Issue Type: Improvement > Components: mapreduce > Reporter: Nick Dimiduk > > We expose two public static methods names {{addDependencyJars}}. One of them, > {{void addDependencyJars(Job}}, is very helpful -- goes out of its way to > detect job dependencies as well as shipping all the necessary HBase > dependencies. The other is shfty and nefarious, {{void > addDependencyJars(Configuration, Class<?>...)}} -- it only adds exactly what > the user requests, forcing them to resolve dependencies themselves and giving > a false sense of security. We should deprecate the latter throw a big giant > warning when people use that one. The handy functionality of providing help > when our heuristics fail can be added via a new method signature, something > like {{void addDependencyJars(Job, Class<?> ...}}. This method would do > everything {{void addDependencyJars(Job}} does, plus let the user specify > arbitrary additional classes. That way HBase still can help the user, but > also gives them super-powers to compensate for when our heuristics fail. > For reference, this appears to be the reason why HBase + Pig doesn't really > work out of the box. See > [HBaseStorage.java|https://github.com/apache/pig/blob/trunk/src/org/apache/pig/backend/hadoop/hbase/HBaseStorage.java#L730] -- This message was sent by Atlassian JIRA (v6.3.4#6332)