Can you show me the exact query that I need to do for this particular
problem consideing my scenario? It will be of great help to me. As I am new
to HiveQL.

I need TOP 3 for those if BID and PID gets matched but with different
timestamp.

-Raihan Jamal

On Thu, Jul 19, 2012 at 1:15 PM, Philip Tromans
<philip.j.trom...@gmail.com>wrote:

> Your rank() is being evaluated map side. Put your distribute by and sort
> by in an inner query, and then evaluate your rank() in an outer query.
>
> Phil.
> On Jul 19, 2012 9:00 PM, "comptech geeky" <comptechge...@gmail.com> wrote:
>
>> This is the below data in my Table1
>>
>>
>> BID       PID                       TIME
>> --------------+-------------------------+--------------------------------
>> 1345653   330760137950       2012-07-09 21:42:29
>> 1345653   330760137950       2012-07-09 21:43:29
>> 1345653   330760137950       2012-07-09 21:40:29
>> 1345653   330760137950       2012-07-09 21:41:29
>> 1345653   110909316904       2012-07-09 21:29:06
>> 1345653   221065796761       2012-07-09 19:31:48
>>
>> So If I need to clarify the above scenario- I have data in above table
>> like this-
>> For USER *`1345653` *I have this PID `*330760137950` *four times but
>> with different timestamps in red color. So I need the output something like
>> this-
>>
>> Output that I need:-
>>
>> *1345653    330760137950       2012-07-09 21:43:29 *
>> *1345653    330760137950       2012-07-09 21:42:29 *
>> *1345653    330760137950       2012-07-09 21:41:29*
>> 1345653    110909316904       2012-07-09 21:29:06
>> 1345653    221065796761       2012-07-09 19:31:48
>>
>> So Basically If BID and PID are same but with different timestamps, then
>> I need TOP 3 sorted with TIME in descending order
>>
>> And for this I created rank UDF (User Defined Function). And I wrote the
>> below query but its not working for me. Can anyone help me on this?
>> *
>> *
>> *
>> *
>> *SELECT buyer_id, item_id, created_time*
>> *    FROM table1*
>> * where to_date(from_unixtime(cast(UNIX_TIMESTAMP(created_time) as
>> int))) = '2012-07-09'*
>> *    DISTRIBUTE BY buyer_id*
>> *    SORT BY buyer_id, created_time desc*
>>
>>

Reply via email to