hadoop-hive-dev mailing list archives

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

    [ https://issues.apache.org/jira/browse/HIVE-1157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840332#action_12840332
] 

Edward Capriolo commented on HIVE-1157:
---------------------------------------

Very cool. I will take a look at this.

Even though the Hive Test Cases are abstracted, I believe you can use the DFS/ MiniMRCluster.
Since the hive class path inherits the Hadoop one. If i understand your problem you might
be able to do this:

{noformat}
dfs -put your.jar /wherever
add jar hdfs://localhost:8020/wherever/your.jar;
{noformat}

> 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
>
>
> 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.


Mime
View raw message