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

Reply via email to