Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.3.0
-
None
-
None
Description
See HIVE-338.
Hive should always use the getClassByName method from hadoop Configuration, so that we choose the correct ClassLoader. Examples include all plug-in interfaces, including UDF/GenericUDF/UDAF, SerDe, and FileFormats. Basically the following code snippet shows the idea:
package org.apache.hadoop.conf; public class Configuration implements Iterable<Map.Entry<String,String>> { ... /** * Load a class by name. * * @param name the class name. * @return the class object. * @throws ClassNotFoundException if the class is not found. */ public Class<?> getClassByName(String name) throws ClassNotFoundException { return Class.forName(name, true, classLoader); }