In the hive-on-mr implementation, bucket map join optimization has to depend on the map join hint. While in the hive-on-tez implementation, a join can be automatically converted to bucket map join if certain conditions are met such as:
1. the optimization flag hive.convert.join.bucket.mapjoin.tez is ON
2. all join tables are buckets and each small table's bucket number can be divided by big table's bucket number
3. bucket columns == join columns
In the hive-on-spark implementation, it is ideal to have the bucket map join auto-convertion support. when all the required criteria are met, a join can be automatically converted to a bucket map join.