#1 VolcanoPlanner had some scalability issues hence the Hep Planner Hep Planner takes Selectivity & cost in to consideration for coming up with best join order.
#2 HiveCost was designed for Algorithm determination. Once we implement Join Algorithm determination in calcite we would switch to this. HiveVolcanoPlanner is not being used as we switched to Hep. John On Fri, Jan 16, 2015 at 2:24 PM, Wuyang LI <wuyang.li1...@gmail.com> wrote: > 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 > -- CONFIDENTIALITY NOTICE NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.