hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dere <jd...@hortonworks.com>
Subject Re: Best way to add custom UDF jar in HiveServer2
Date Fri, 29 Aug 2014 17:34:28 GMT
If you have a recent version of Hive (0.13+), you could try registering your UDF as a "permanent"
UDF which was added in HIVE-6047:

1) Copy your JAR somewhere on HDFS, say hdfs:///home/nirmal/udf/hiveUDF-1.0-SNAPSHOT.jar.

2) In Hive, run CREATE FUNCTION zeroifnull AS 'com.test.udf.ZeroIfNullUDF' USING JAR 'hdfs:///home/nirmal/udf/hiveUDF-1.0-SNAPSHOT.jar';

The function definition should be saved in the metastore and Hive should remember to pull
the JAR from the location you specified in the CREATE FUNCTION call.

Jason

On Aug 27, 2014, at 8:19 PM, Nirmal Kumar <nirmal.kumar@impetus.co.in> wrote:

> Hi All,
> 
> What is the best way to add custom UDF jar in HiveServer2.
> 
> Currently I am adding it through Java JDBC code :
> 
> Statement stmt = null;
> ResultSet res = null;
> Connection con = getHiveConnection(host, port, db);
> try {
>                 stmt = con.createStatement();
> 
> String[] args = new String[2];
> args[0] = "add jar /home/nirmal/udf/hiveUDF-1.0-SNAPSHOT.jar";
> args[1] = "CREATE TEMPORARY FUNCTION zeroifnull AS 'com.test.udf.ZeroIfNullUDF'";
>  
> for (String queryUDF : args) {
> stmt.execute(queryUDF);
>                 }
> }
> 
> Is there any other better way ?
> 
> Thanks,
> -Nirmal
> 
> 
> 
> 
> 
> 
> 
> 
> NOTE: This message may contain information that is confidential, proprietary, privileged
or otherwise protected by law. The message is intended solely for the named addressee. If
received in error, please destroy and notify the sender. Any use of this email is prohibited
when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity
of this communication has been maintained nor that the communication is free of errors, virus,
interception or interference.


-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Mime
View raw message