auxpath is not going to solve this problem. You have to set your
HADOOP_CLASSPATH for it. From the error it seems that your job client is
not able to load the class from classpath.

Try -
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/reports/hive/ddc_jars/jwnl.jar

$ hive

hive> add jar ...
hive> create temporary ..

In my last email, I mentioned about auxlib directory, hive shell scripts
picks up all the jars in this directory and puts it in HADOOP_CLASSPATH and
auxpath.

thanks,
Aniket

On Sun, Jan 22, 2012 at 2:08 PM, Tim Havens <timhav...@gmail.com> wrote:

> hive --auxpath /reports/hive/ddc_jars/jwnl.jar
> Hive history
> file=/tmp/thavens/hive_job_log_thavens_201201222205_2003418921.txt
> hive> create temporary function StemTermsUDF as
> 'org.apache.hadoop.hive.ql.udf.StemTermsUDF';
> OK
> Time taken: 0.005 seconds
>
> however:
>
> With in .hiverc with:
> add jar /reports/hive/ddc_jars/jwnl.jar
>
> AND
> /etc/hive/conf/hive-site.xml
>
> <property>
>   <name>hive.aux.jars.path</name>
>   <value>/reports/hive/ddc_jars</value>
> </property>
>
> results in:
>
> 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
>
> On Sun, Jan 22, 2012 at 3:43 PM, Tim Havens <timhav...@gmail.com> wrote:
>
>> Unfortunately the issue appears to be something with the Jar, or my UDF.
>>
>> What I can't seem to resolve is what is causing the -101 Error Code.
>>
>> Tim
>>
>>
>> On Sun, Jan 22, 2012 at 3:26 PM, Aniket Mokashi <aniket...@gmail.com>wrote:
>>
>>> 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"
>>>
>>
>>
>>
>
>
> --
> "The whole world is you. Yet you keep thinking there is something else." -
> Xuefeng Yicun 822-902 A.D.
>
> Tim R. Havens
> Google Phone: 573.454.1232
> ICQ: 495992798
> ICBM:  37°51'34.79"N   90°35'24.35"W
> ham radio callsign: NW0W
>



-- 
"...:::Aniket:::... Quetzalco@tl"

Reply via email to