Github user chhao01 commented on a diff in the pull request:

    https://github.com/apache/spark/pull/1238#discussion_r14581617
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/SparkStrategies.scala ---
    @@ -61,8 +61,6 @@ private[sql] abstract class SparkStrategies extends 
QueryPlanner[SparkPlan] {
           condition.map(Filter(_, 
broadcastHashJoin)).getOrElse(broadcastHashJoin) :: Nil
         }
     
    -    def broadcastTables: Seq[String] = 
sqlContext.joinBroadcastTables.split(",").toBuffer
    -
         def apply(plan: LogicalPlan): Seq[SparkPlan] = plan match {
    --- End diff --
    
    I agree. I'd like to add 2 more concerns :)
    * zero maybe means the zero record of an input table, we probably need to 
take some other default value, or like Hive does, to add an new option like 
"set hive.auto.convert.join=false;"
    * size estimates interface is very helpful for cost based join optimization 
(join reordering), besides the BroadcastNestedLoopJoin, we can also use that 
for equi-inner-join(we always prefer the bigger table as streaming table and 
the smaller one as build table). just make sure you didn't misunderstanding 
what I suggested in the top comment of this thread.  


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

Reply via email to