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

Reply via email to