Hi, I'm a newbie to Hive, recently I've been reading the source code of the CBO component and tried to figure out how it works. There are two questions I'm puzzling. Your kind replies would be greatly appreciated. :) First question: why use the HepPlanner instead of the VolcanoPlanner to optimize the join order? If I'm not mistaken, Hep Planner only applies the rules to calcite logical plan but it doesn't calculate the cost of transformed plan. However, the VolcanoPlanner calculates the cost after applying the rules and find the the plan of best cost.
Second question: why not use HiveVolcanoPlanner and HiveCost? In fact, Hive has implemented its own planner, HiveVolcanoPlanner and its own cost model, HiveCost. Unfortunately, I didn't find those classes called in CBO. Thank you in advance Best regards Wuyang LI