I don't have a hive shell under my hands. What's the planning?

It should be doable with a single MapReduce if the cross join is
constructed as a 'HashJoin'.
Is that the case? I am curious.

(You can use 'explain' on your query to know the planning.)

Bertrand

On Thu, Aug 9, 2012 at 11:08 PM, <richin.j...@nokia.com> wrote:

>  Thanks Guys, it worked.****
>
> ** **
>
> *From:* ext Bertrand Dechoux [mailto:decho...@gmail.com]
> *Sent:* Thursday, August 09, 2012 5:03 PM
> *To:* user@hive.apache.org
> *Subject:* Re: Nested Select Statements****
>
> ** **
>
> Basically a cross join. You would have the same issue with SQL.
>
> Bertrand****
>
> On Thu, Aug 9, 2012 at 10:41 PM, shrikanth shankar <sshan...@qubole.com>
> wrote:****
>
> This should work****
>
> ** **
>
> Select ts,id,sum(metric/usage_count) from usage join (select count(*)
> usage_count from usage) V on ( 1 = 1) group by ts,id;****
>
> ** **
>
> thanks,****
>
> Shrikanth****
>
> ** **
>
> On Aug 9, 2012, at 1:33 PM, <richin.j...@nokia.com> wrote:****
>
>
>
> ****
>
> Hi (vers),****
>
>  ****
>
> This might be a very basic question for most of you but I am stuck at it
> for quite some time now. I have a table with three columns :            **
> **
>
> *Describe usage;*****
>
> *ts string*****
>
> *id string*****
>
> *metric double*****
>
>  ****
>
> I am trying to do a query like****
>
> *Select ts,id,sum(metric/(select count(*) from usage)) from usage group
> by ts,id;*****
>
>  ****
>
> This throws a parse error- Can’t recognize input near ‘select’  ‘count’
>  ‘(‘ in expression specification.****
>
> I tried setting the output in a temp variable and use it in the query like
> ****
>
> *Set totalrows = select count(*) from usage;*****
>
> *Select ts, id, sum(metric/${hiveconf:totalrows}) from usage group by
> ts,id;*****
>
>  ****
>
> This also throws a parse error as the variable gets substituted by
> variable. So I have three questions.****
>
> 1.       What is wrong with the above queries?****
>
> 2.       Is there another way to find number of rows in a table?****
>
> 3.       Is there a better way for what I am trying to do?****
>
>  ****
>
> Thanks,****
>
> Richin****
>
> ** **
>
>
>
>
> --
> Bertrand Dechoux****
>



-- 
Bertrand Dechoux

Reply via email to