Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Map join hint will no longer be valid for some queries. Drop the hint in those cases. Hive will automatically try to convert join to map-join with config hive.auto.convert.join set to true.
Description
hive.auto.convert.join has been around for a long time, and is pretty stable.
When mapjoin hint was created, the above parameter did not exist.
The only reason for the user to specify a mapjoin currently is if they want
it to be converted to a bucketed-mapjoin or a sort-merge bucketed mapjoin.
Eventually, that should also go away, but that may take some time to stabilize.
There are many rules in SemanticAnalyzer to handle the following trees:
ReduceSink -> MapJoin
Union -> MapJoin
MapJoin -> MapJoin
This should not be supported anymore. In any of the above scenarios, the
user can get the mapjoin behavior by setting hive.auto.convert.join to true
and not specifying the hint. This will simplify the code a lot.
What does everyone think ?
Attachments
Attachments
Issue Links
- duplicates
-
HIVE-3652 Join optimization for star schema
- Resolved
-
HIVE-1695 MapJoin followed by ReduceSink should be done as single MapReduce Job
- Closed
- is depended upon by
-
HIVE-3952 merge map-job followed by map-reduce job
- Closed
-
HIVE-4042 ignore mapjoin hint
- Closed
- is duplicated by
-
HIVE-3652 Join optimization for star schema
- Resolved
- is related to
-
HIVE-3403 user should not specify mapjoin to perform sort-merge bucketed join
- Closed
-
HIVE-3633 sort-merge join does not work with sub-queries
- Closed
- relates to
-
HIVE-3326 plan for multiple mapjoin followed by a normal join is wrong
- Resolved
-
HIVE-3403 user should not specify mapjoin to perform sort-merge bucketed join
- Closed