Viraj,

1. No
2. Yes, smaller table needs to fit in jvm memory (typically more than 1GB for small table is too large).

See slide 7 and after in this preso for different join strategies that can help in case the tables are bucketed and sorted.

http://www.slideshare.net/zshao/hive-user-meeting-march-2010-hive-team

There is also the /*+STREAMTABLE(tablealias)*/ hint, which you should use for very large tables (or make sure it is the rightmost table in the join clause).

-- amr

On 6/24/2010 10:43 AM, Viraj Bhat wrote:

Hi all,

I am joining 2 datasets, one is around 1.5TB in size and the other is around 350MB in size.

I wanted to do a Map Side join using "id" as the join column between the two tables. I read about the Mapside join in Hive.

http://wiki.apache.org/hadoop/Hive/LanguageManual/Joins. Are there some technical specs on Mapside join on a wiki/jira?

Here are some questions:

1) Do the tables need to be sorted on "id"?

2) Is there a restriction on the smaller table size?

Are there other join optimizations that Hive provides which I can apply here?

Viraj

Reply via email to