hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Namit Jain (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-3652) Join optimization for star schema
Date Mon, 05 Nov 2012 04:19:13 GMT

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

Namit Jain commented on HIVE-3652:
----------------------------------

[~amareshwari], do you think it would be possible to get a cheap implementation with a single
mapper performing
multiple dimension joins one after the other ? I think, we should start with a few assumptions:

1. The user will not give any map-join hints. Let us derive thin info. from the statistics,
as Mark suggested.
2. This should be a single map-only job (no reducer).
3. As a first cut, it might be useful to optimize the query:

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

The above query should not have a back-up task in case the map-join fails, and it should be
run
as a single map-only job. Once that is done, using cost to convert join into map-join can
be explored independently.

                
> 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

Mime
View raw message