Yes, it does. Did you enclose the currentdate value in ' ', or " "?



On Sun, Aug 24, 2014 at 12:22 PM, karthik Srivasthava <
karthiksrivasth...@gmail.com> wrote:

> Bala Krishna Gangisetty and Nithin,
>
> Thanks for your response.. Your response was very helpful..
>
> But date  datatype being STRING, will it encourage this query ??
>
> SELECT * FROM *table_name* WHERE *date_column* BETWEEN 
> date_sub(*${hiveconf:currentdate},
> 15)* AND  *${hiveconf:currentdate}*
>
> *I am getting zero records back...*
>
>
> On Sun, Aug 24, 2014 at 2:04 PM, Bala Krishna Gangisetty <
> b...@altiscale.com> wrote:
>
>> Nitin: Given the requirement, I don't think it's required to pass array
>> of dates to HIVE query.
>>
>>
>> On Sun, Aug 24, 2014 at 11:56 AM, Bala Krishna Gangisetty <
>> b...@altiscale.com> wrote:
>>
>>> The query can be modified further with one variable with the of
>>> date_sub() UDF function, available by default.
>>>
>>> Suppose currentdate is the argument whose value is current date, the
>>> query will look like:
>>>
>>> SELECT * FROM *table_name* WHERE *date_column* BETWEEN 
>>> date_sub(*${hiveconf:currentdate},
>>> 15)* AND  *${hiveconf:currentdate}*
>>>
>>> However, the query comes with an overhead of UDF execution.
>>>
>>> --Bala G.
>>>
>>>
>>> On Sun, Aug 24, 2014 at 11:25 AM, Bala Krishna Gangisetty <
>>> b...@altiscale.com> wrote:
>>>
>>>> Here is my understanding on your requirements. Let me know if I am
>>>> missing something. You,
>>>>
>>>> a) would like to run a query daily to find top 10 products in the past
>>>> 15 days
>>>> b) would like to pass dates dynamically as arguments to HIVE query
>>>>
>>>> Given the requirement a), passing just two variables(startdate and
>>>> enddate) to HIVE query will suffice to achieve the requirement b).
>>>>
>>>> Assuming startdate and enddate variables are passed to HIVE query, the
>>>> query will look like below.
>>>>
>>>> SELECT * FROM *table_name* WHERE *date_column* BETWEEN
>>>> *${hiveconf:startdate}* AND  *${hiveconf:enddate}*
>>>>
>>>> Note, values for startdate and enddate must be enclosed in ' '.
>>>>
>>>> Hope this helps.
>>>>
>>>> --Bala G.
>>>>
>>>>
>>>> On Sun, Aug 24, 2014 at 12:57 AM, Nitin Pawar <nitinpawar...@gmail.com>
>>>> wrote:
>>>>
>>>>> I am not sure if you can transform array from shell to java, you may
>>>>> want to write your own custom UDF for that
>>>>>
>>>>> if these are continuous dates, then you can have less than greater
>>>>> than comparison
>>>>>
>>>>>
>>>>> On Sun, Aug 24, 2014 at 12:39 PM, karthik Srivasthava <
>>>>> karthiksrivasth...@gmail.com> wrote:
>>>>>
>>>>>> Nitin,
>>>>>> Teja
>>>>>>
>>>>>> Thank you.. I exactly need what Teja suggested... i need list of
>>>>>> dates between start date and end date....
>>>>>>
>>>>>>
>>>>>> On Sun, Aug 24, 2014 at 2:05 AM, Teja Kunapareddy <
>>>>>> tejakunapare...@gmail.com> wrote:
>>>>>>
>>>>>>> Thanks Nithin For your reply.. I can get start date and end date,.
>>>>>>> But can i get all the dates with in START DATE AND END DATE.??? . so 
>>>>>>> that
>>>>>>> my query looks something like this
>>>>>>>
>>>>>>> "Select  a, b, c from table_x where date in  (${hiveconf:LIST_OF
>>>>>>> DATES})"
>>>>>>>
>>>>>>>
>>>>>>> On 24 August 2014 01:18, Nitin Pawar <nitinpawar...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> with your shell script calculate your start date and end date
>>>>>>>> hive $HIVEPARAMS -hiveconf startdate="$var1"  -hiveconf
>>>>>>>> enddate="$var2"
>>>>>>>>
>>>>>>>> also set in ..hiverc
>>>>>>>> set hive.variable.substitute=true;
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Aug 24, 2014 at 10:19 AM, karthik Srivasthava <
>>>>>>>> karthiksrivasth...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> As my raw-data table is partitioned by date.. i want to get data
>>>>>>>>> to run a query every days to find top 10 products in last 15 days .
>>>>>>>>>
>>>>>>>>> How to pass list of dates dynamically as arguments in hive query
>>>>>>>>> using hiveconf?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Nitin Pawar
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Nitin Pawar
>>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to