Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # dev >> Custom UserDefinedFunction in Hive


Copy link to this message
-
Custom UserDefinedFunction in Hive
*Problem*

I created the below UserDefinedFunction to get the yesterday's day in the
format I wanted as I will be passing the format into this below method from
the query.

*public final class YesterdayDate extends UDF {*

* *

*                public String evaluate(final String format) { *

*                                DateFormat dateFormat = new
SimpleDateFormat(format); *

*                                Calendar cal = Calendar.getInstance();*

*                                cal.add(Calendar.DATE, -1);     *

*                                return
dateFormat.format(cal.getTime()).toString(); *

*                } *

*}*

So whenever I try to run the query like below by adding the jar to
classpath and creating the temporary function yesterdaydate, I always get
zero result back-

hive> create temporary function *yesterdaydate* as
'com.example.hive.udf.YesterdayDate';

OK

Time taken: 0.512 seconds

Below is the query I am running-

*hive> SELECT * FROM REALTIME where dt= yesterdaydate('yyyyMMdd') LIMIT 10;*

*OK*

* *

And I always get zero result back but the data is there in that table for
Aug 5th.**

What wrong I am doing? Any suggestions will be appreciated.

NOTE:- As I am working with Hive 0.6 so it doesn’t support variable
substitution thing, so I cannot use hiveconf here and the above table has
been partitioned on dt(date) column.**
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB