I'm having a heck of a time the past couple days. Google suggests others
have had this same error without resolution since mid-2010. Maybe someone
here can shed some light on this?

*See the package and method name:
*[hdfs@laxhadoop1-012 15:23:14 ~/Tim] :) head LeoRank.java
package com.riot.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public final class *LeoRank* extends UDF{

*We set the classpath and ensure .jar is there:
*[hdfs@laxhadoop1-012 15:24:35 ~/Tim] :) export
HADOOP_CLASSPATH=/usr/lib/hive/lib
[hdfs@laxhadoop1-012 15:24:44 ~/Tim] :) ls -al $HADOOP_CLASSPATH/LeoRank.jar
-rw-rw-r-- 1 hdfs hdfs 884 Feb  2 15:07 /usr/lib/hive/lib/LeoRank.jar

*We add the jar:
*[hdfs@laxhadoop1-012 15:24:52 ~/Tim] :) hive
Hive history file=/tmp/hdfs/hive_job_log_hdfs_201202021524_1137940055.txt
hive> add jar LeoRank.jar ;
Added LeoRank.jar to class path
Added resource: LeoRank.jar

*And double-check the .jar is loaded:
*hive> list jars ;
LeoRank.jar

*And yet... fail:*
hive> create temporary function LeoRank as 'com.riot.hive.udf.LeoRank' ;
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.FunctionTask

*hive.log doesn't seem to shed any additional light on it (or does it?):*
[hdfs@laxhadoop1-012 15:31:16 ~/Tim] :) tail -f /tmp/hdfs/hive.log
2012-02-02 15:31:13,087 ERROR ql.Driver (SessionState.java:printError(365))
- FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.FunctionTask

There are posts on forums through history where people go through exactly
this process, get to exactly this point, then nothing. I'm not sure if they
give up on UDFs, or if they have some brain flash around a configuration
they forgot to set or what. Any clues for the gamers of the world?

-- 
Tim Ellis
Data Architect, Riot Games

Reply via email to