Any further help on this, otherwise I'll file a jira.

On Wed, Jul 24, 2013 at 11:32 PM, j.barrett Strausser <
j.barrett.straus...@gmail.com> wrote:

> As an example : If I run my query above removing the arg the following is
> thrown.
>
> FAILED: SemanticException Failed to breakup Windowing invocations into
> Groups. At least 1 group must only depend on input columns. Also check for
> circular dependencies.
> Underlying error: org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException:
> One or more arguments are expected.
>
>
> Similar issue and fix here:
>
> http://www.marshut.com/rqvpz/use-rank-over-partition-function-in-hive-11.html
>
> Even if it didn't require an arg it still doesn't explain my anomalous
> output.
>
>
>
> On Wed, Jul 24, 2013 at 11:28 PM, j.barrett Strausser <
> j.barrett.straus...@gmail.com> wrote:
>
>> That isn't true. If you try to run the above HIVE without an argument, it
>> will throw an exception. I have seen other users replicate this problem as
>> well.
>>
>> I can file a JIRA if someone can confirm that my query should work.
>>
>>
>> On Wed, Jul 24, 2013 at 11:02 PM, manishbh...@rocketmail.com <
>> manishbh...@rocketmail.com> wrote:
>>
>>> Analytical function doesn't expect any argument. Rank() itself enough to
>>> sequence based on the window you have defined in partition by. So
>>>
>>> Rank() over (partition by cmscustid  order by orderdate)
>>>
>>> Should work as long as I have wrote right syntax for hive.
>>>
>>> Sent via Rocket from my HTC
>>>
>>> ----- Reply message -----
>>> From: "j.barrett Strausser" <j.barrett.straus...@gmail.com>
>>> To: <user@hive.apache.org>
>>> Subject: Semantics of Rank.
>>> Date: Thu, Jul 25, 2013 1:08 AM
>>>
>>>
>>> Thanks for the reply. Perhaps my misunderstanding of the relation between
>>> rank and the windowing function is wrong.
>>>
>>> What I want to achieve for the following is : For a given customer id,
>>> sort his orders. I thought the below would work.
>>>
>>> SELECT eh.cmsorderid, eh.orderdate, RANK(orderdate) w FROM order_data eh
>>> window w as (partition by cmscustid  order by orderdate);
>>>
>>> The rank function instead returns the rank of the order date over all all
>>> order dates.
>>>
>>> Example snippet from above
>>>
>>> Actual :
>>>
>>> 6758783    27APR2012    94
>>> 6758783    23JUN2012    95
>>> 6758785    14DEC2012    96
>>> 6758795    18DEC2011    97
>>> 6758796    06MAY2012    98
>>> 6758798    24MAR2013    99
>>> 6758799    23NOV2012    100
>>>
>>>
>>> Expected :
>>>
>>> 6758783    27APR2012    1
>>> 6758783    23JUN2012    2
>>> 6758785    14DEC2012    1
>>> 6758795    18DEC2011    1
>>> 6758796    06MAY2012    1
>>> 6758798    24MAR2013    1
>>> 6758799    23NOV2012    1
>>>
>>>
>>> -b
>>>
>>>
>>>
>>>
>>> On Wed, Jul 24, 2013 at 3:17 PM, Shahar Glixman <sglix...@outbrain.com
>>> >wrote:
>>>
>>> > the argument to rank is simply some value, whereas the rank function
>>> > compare this value
>>> >  to the previous value received, if value is same, rank returns
>>> ++index,
>>> > otherwise, rank return 1.
>>> > pseudo code:
>>> >
>>> > class Rank {
>>> > int index;
>>> > Object previousValue = null;
>>> > int evaluate(Object value) {
>>> >   if (value == previousValue) {
>>> >     return ++index;
>>> >   }
>>> >   previousValue = value;
>>> >   index = 1;
>>> >   return 1;
>>> > }
>>> >
>>> >
>>> > On Wed, Jul 24, 2013 at 9:59 PM, j.barrett Strausser <
>>> > j.barrett.straus...@gmail.com> wrote:
>>> >
>>> >> It seems as though I am required to pass in an argument to RANK().
>>> >>
>>> >> What is the effect of passing this argument in ?
>>> >>
>>> >> In a RANK function the output for RANK should be the number of rows
>>> >> preceding
>>> >> a row in a given window. As  windows are specified by the partition
>>> and
>>> >> order by fields I don't understand the effect of passing in an arg to
>>> RANK
>>> >>
>>> >> Are the other non-aggregate function similar? Meaning : Cume_dist,
>>> Ntile
>>> >> --
>>> >>
>>> >>
>>> >> https://github.com/bearrito
>>> >> @deepbearrito
>>> >>
>>> >
>>> >
>>> > The above terms reflect a potential business arrangement, are provided
>>> solely
>>> > as a basis for further discussion, and are not intended to be and do
>>> not
>>> > constitute a legally binding obligation. No legally binding
>>> obligations will
>>> > be created, implied, or inferred until an agreement in final form is
>>> executed
>>> > in writing by all parties involved.
>>> >
>>> > This email and any attachments hereto may be confidential or
>>> privileged.
>>> >  If you received this communication by mistake, please don't forward it
>>> > to anyone else, please erase all copies and attachments, and please let
>>> > me know that it has gone to the wrong person. Thanks.
>>> >
>>>
>>>
>>>
>>> --
>>>
>>>
>>> https://github.com/bearrito
>>> @deepbearrito
>>>
>>
>>
>>
>> --
>>
>>
>> https://github.com/bearrito
>> @deepbearrito
>>
>
>
>
> --
>
>
> https://github.com/bearrito
> @deepbearrito
>



-- 


https://github.com/bearrito
@deepbearrito

Reply via email to