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