[ 
https://issues.apache.org/jira/browse/HIVE-3652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490506#comment-13490506
 ] 

Amareshwari Sriramadasu commented on HIVE-3652:
-----------------------------------------------

"If we have series of MapJoinOperators, and the Operator tree has MapJoin 
followed by MapJoin", then we can run all the map joins in single query. Some 
of this already solved by HIVE-1246. I think we need to do some more changes to 
accept queries of the following form also :


select /*+ MAPJOIN(b,c) */ from FACT a join DIM1 b on a.k1=b.k1 JOIN DIM2 c on 
a.k2=c.k2

or 

select /*+ MAPJOIN(b,c) */ from FACT a join DIM1 b on a.k1=b.k1 JOIN DIM2 c on 
b.k2=c.k2
                
> Join optimization for star schema
> ---------------------------------
>
>                 Key: HIVE-3652
>                 URL: https://issues.apache.org/jira/browse/HIVE-3652
>             Project: Hive
>          Issue Type: Improvement
>          Components: Query Processor
>            Reporter: Amareshwari Sriramadasu
>            Assignee: Amareshwari Sriramadasu
>
> Currently, if we join one fact table with multiple dimension tables, it 
> results in multiple mapreduce jobs for each join with dimension table, 
> because join would be on different keys for each dimension. 
> Usually all the dimension tables will be small and can fit into memory and so 
> map-side join can used to join with fact table.
> In this issue I want to look at optimizing such query to generate single 
> mapreduce job sothat mapper loads dimension tables into memory and joins with 
> fact table on different keys as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to