#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.

Reply via email to