diff options
author | scwf <wangfei1@huawei.com> | 2015-04-30 18:15:56 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-04-30 18:15:56 -0700 |
commit | 079733817f02c61ef814f5d9c0c8227498ff0058 (patch) | |
tree | 41d9308d686d275a623ad822ee49402a5644f989 /sql | |
parent | ee04413935f74b3178adbb6d8dee19b3320803e9 (diff) | |
download | spark-079733817f02c61ef814f5d9c0c8227498ff0058.tar.gz spark-079733817f02c61ef814f5d9c0c8227498ff0058.tar.bz2 spark-079733817f02c61ef814f5d9c0c8227498ff0058.zip |
[SPARK-7093] [SQL] Using newPredicate in NestedLoopJoin to enable code generation
Using newPredicate in NestedLoopJoin instead of InterpretedPredicate to make it can make use of code generation
Author: scwf <wangfei1@huawei.com>
Closes #5665 from scwf/NLP and squashes the following commits:
d19dd31 [scwf] improvement
a887c02 [scwf] improve for NLP boundCondition
Diffstat (limited to 'sql')
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala | 5 | ||||
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala index 56200f6b8c..6aaf35fb42 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/BroadcastNestedLoopJoin.scala @@ -59,10 +59,7 @@ case class BroadcastNestedLoopJoin( } @transient private lazy val boundCondition = - InterpretedPredicate.create( - condition - .map(c => BindReferences.bindReference(c, left.output ++ right.output)) - .getOrElse(Literal(true))) + newPredicate(condition.getOrElse(Literal(true)), left.output ++ right.output) override def execute(): RDD[Row] = { val broadcastedRelation = diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala index e06f63f94b..b03af410dc 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/joins/LeftSemiJoinBNL.scala @@ -45,10 +45,7 @@ case class LeftSemiJoinBNL( override def right: SparkPlan = broadcast @transient private lazy val boundCondition = - InterpretedPredicate.create( - condition - .map(c => BindReferences.bindReference(c, left.output ++ right.output)) - .getOrElse(Literal(true))) + newPredicate(condition.getOrElse(Literal(true)), left.output ++ right.output) override def execute(): RDD[Row] = { val broadcastedRelation = |