hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashish Thusoo <athu...@fb.com>
Subject Re: Cross join in Hive.
Date Mon, 02 May 2011 21:00:39 GMT
you could probably just say (1 = 1) in the on clause for the join.

set hive.mapred.mode=nonstrict;
select ... from T1 join T2 on (1 = 1);

Ashish

On May 1, 2011, at 10:27 PM, Raghunath, Ranjith wrote:

Forgot to mention....the condition for the inner join should be the column set to 1 in the
first table to be equal to the same column in the other table.

Thanks,
Ranjith

________________________________
From: Raghunath, Ranjith <Ranjith.Raghunath1@usaa.com<mailto:Ranjith.Raghunath1@usaa.com>>
To: 'user@hive.apache.org<mailto:'user@hive.apache.org>' <user@hive.apache.org<mailto:user@hive.apache.org>>
Sent: Mon May 02 00:21:57 2011
Subject: Re: Cross join in Hive.

I haven't tested this out but plan to in 6 hours. Add an extra column and set it to 1 in both
tables. Perform an inner join between the two tables.

Thanks,
Ranjith

________________________________
From: Abhinov Agarwal <abhinov.agarwal@gmail.com<mailto:abhinov.agarwal@gmail.com>>
To: user@hive.apache.org<mailto:user@hive.apache.org> <user@hive.apache.org<mailto:user@hive.apache.org>>
Sent: Sun May 01 22:50:34 2011
Subject: Cross join in Hive.

Hi,

I need to take a cross join of a big table with itself, is it possible to do it using Hive
?
E.g.

Set :
1
2
3

Result :
1,1
1,2
1,3
2,1
2,2
2,3
3,1
3,2
3,3

This would also do :
1,2
1,3
2,3

In fact the second one is what I want. I know cross join is not supported in Hive, any other
way to obtain this.

Regards,
Abhinav Agarwal


Mime
View raw message