A simplest way would be to put the jar in auxlib directory. That does the both for you I guess. After that you can directly create temporary function in hive.
~Aniket On Sun, Jan 22, 2012 at 1:24 PM, Aniket Mokashi <aniket...@gmail.com> wrote: > Add the jar to HADOOP_CLASSPATH when you launch hive. That should help. > > Thanks, > Aniket > > > On Sun, Jan 22, 2012 at 9:25 AM, Tim Havens <timhav...@gmail.com> wrote: > >> I have a similar UDF to this one which create's just fine. >> >> I cam seem to resolve what 'return code -101' means however with this >> one. >> >> Can anyone tell me what 'return code -101' means? >> >> My StemTermsUDF.jar has the proper classpath for the JWNL jars >> already, I'm trying to insure they've REALLY available by 'add jar' >> within hive. >> >> All the paths are correct and I've checked them MANY times to be sure >> before posting this. >> >> hive> add file /usr/lib/hadoop/lib/jwnl/jwnl_properties.xml; >> Added resource: /usr/lib/hadoop/lib/jwnl/jwnl_properties.xml >> hive> add jar /usr/lib/hive/lib/jwnl/jwnl.jar; >> Added /usr/lib/hive/lib/jwnl/jwnl.jar to class path >> Added resource: /usr/lib/hive/lib/jwnl/jwnl.jar >> hive> add jar /usr/lib/hive/lib/jwnl/commons-logging.jar; >> Added /usr/lib/hive/lib/jwnl/commons-logging.jar to class path >> Added resource: /usr/lib/hive/lib/jwnl/commons-logging.jar >> hive> add jar StemTermsUDF.jar; >> Added StemTermsUDF.jar to class path >> Added resource: StemTermsUDF.jar >> hive> create temporary function StemTermsUDF as >> 'org.apache.hadoop.hive.ql.udf.StemTermsUDF'; >> java.lang.NoClassDefFoundError: net/didion/jwnl/JWNLException >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:264) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.getUdfClass( >> FunctionTask.java: >> 119) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.createFunction(FunctionTask. >> java: >> 75) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.execute(FunctionTask.java: >> 63) >> at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java: >> 130) >> at >> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java: >> 57) >> at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java: >> 1063) >> at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900) >> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748) >> at >> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:209) >> at >> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286) >> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java: >> 516) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke( >> NativeMethodAccessorImpl.java: >> 57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java: >> 43) >> at java.lang.reflect.Method.invoke(Method.java:616) >> at org.apache.hadoop.util.RunJar.main(RunJar.java:186) >> Caused by: java.lang.ClassNotFoundException: >> net.didion.jwnl.JWNLException >> at java.net.URLClassLoader$1.run(URLClassLoader.java:217) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:205) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:321) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: >> 294) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:266) >> ... 18 more >> FAILED: Execution Error, return code -101 from >> org.apache.hadoop.hive.ql.exec.FunctionTask > > > > > -- > "...:::Aniket:::... Quetzalco@tl" > -- "...:::Aniket:::... Quetzalco@tl"