Github user ioana-delaney commented on a diff in the pull request:

    https://github.com/apache/spark/pull/15363#discussion_r106282966
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/CostBasedJoinReorder.scala
 ---
    @@ -51,6 +51,11 @@ case class CostBasedJoinReorder(conf: CatalystConf) 
extends Rule[LogicalPlan] wi
     
       def reorder(plan: LogicalPlan, output: AttributeSet): LogicalPlan = {
         val (items, conditions) = extractInnerJoins(plan)
    +    // Find the star schema joins. Currently, it returns the star join 
with the largest
    +    // fact table. In the future, it can return more than one star join 
(e.g. F1-D1-D2
    +    // and F2-D3-D4).
    +    val starJoinPlans = StarSchemaDetection(conf).findStarJoins(items, 
conditions.toSeq)
    --- End diff --
    
    @ron8hu There are papers in the field that discuss options for reducing 
query compilation times. Some that I found, mainly from the IBM research, are: 
“Measuring the Complexity of Join Enumeration in Query Optimization” – 
K.Ono, et al., “Estimating Compilation Time of Query Optimizer” – I. 
Ilyas et al.
    
    Regarding Spark’s cost-based optimizer evolution, I would very interested 
to help and contribute in this area. Star schema enhancements would be a 
starting point. 



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to