Affects Version/s: None
Fix Version/s: 0.11.0
Component/s: Query Processor
Release Note: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.
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 ?