hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip Zeyliger (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HIVE-1157) UDFs can't be loaded via "add jar" when jar is on HDFS
Date Mon, 22 Mar 2010 21:09:27 GMT

     [ https://issues.apache.org/jira/browse/HIVE-1157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Philip Zeyliger updated HIVE-1157:

    Attachment: HIVE-1157.patch.v3.txt


Indeed, I've been able to reproduce that.  I traced it down to some bad error handling when
scratch_dir doesn't exist.  The new patch creates a scratch dir if it doesn't already exist,
and adds an if/else to make sure localFile.delete() isn't called if localFile is null.

Sorry about that.  I'm not sure whether something changed between when I created the patch
and now on trunk to change how the scratchdir works, or if I had the scratch dir craeted by
other tests in my local checkout.  Either way, this should fix it.


> UDFs can't be loaded via "add jar" when jar is on HDFS
> ------------------------------------------------------
>                 Key: HIVE-1157
>                 URL: https://issues.apache.org/jira/browse/HIVE-1157
>             Project: Hadoop Hive
>          Issue Type: Improvement
>          Components: Query Processor
>            Reporter: Philip Zeyliger
>            Priority: Minor
>         Attachments: hive-1157.patch.txt, HIVE-1157.patch.v3.txt, HIVE-1157.v2.patch.txt
> As discussed on the mailing list, it would be nice if you could use UDFs that are on
jars on HDFS.  The proposed implementation would be for "add jar" to recognize that the target
file is on HDFS, copy it locally, and load it into the classpath.
> {quote}
> Hi folks,
> I have a quick question about UDF support in Hive.  I'm on the 0.5 branch.  Can you use
a UDF where the jar which contains the function is on HDFS, and not on the local filesystem.
 Specifically, the following does not seem to work:
> # This is Hive 0.5, from svn
> $bin/hive                                              
> Hive history file=/tmp/philip/hive_job_log_philip_201002081541_370227273.txt
> hive> add jar hdfs://localhost/FooTest.jar;                                      
> Added hdfs://localhost/FooTest.jar to class path
> hive> create temporary function cube as 'com.cloudera.FooTestUDF';               
> FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
> Does this work for other people?  I could probably fix it by changing "add jar" to download
remote jars locally, when necessary (to load them into the classpath), or update URLClassLoader
(or whatever is underneath there) to read directly from HDFS, which seems a bit more fragile.
 But I wanted to make sure that my interpretation of what's going on is right before I have
at it.
> Thanks,
> -- Philip
> {quote}
> {quote}
> Yes that's correct. I prefer to download the jars in "add jar".
> Zheng
> {quote}

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message