diff options
author | Yin Huai <yhuai@databricks.com> | 2015-10-08 11:56:44 -0700 |
---|---|---|
committer | Andrew Or <andrew@databricks.com> | 2015-10-08 11:56:44 -0700 |
commit | 82d275f27c3e9211ce69c5c8685a0fe90c0be26f (patch) | |
tree | a51a68a14568e2022ada5efd9a568687b4be3c73 /sql/catalyst | |
parent | 2a6f614cd6ffb0cc32460018cb13dad2fd94520f (diff) | |
download | spark-82d275f27c3e9211ce69c5c8685a0fe90c0be26f.tar.gz spark-82d275f27c3e9211ce69c5c8685a0fe90c0be26f.tar.bz2 spark-82d275f27c3e9211ce69c5c8685a0fe90c0be26f.zip |
[SPARK-10887] [SQL] Build HashedRelation outside of HashJoinNode.
This PR refactors `HashJoinNode` to take a existing `HashedRelation`. So, we can reuse this node for both `ShuffledHashJoin` and `BroadcastHashJoin`.
https://issues.apache.org/jira/browse/SPARK-10887
Author: Yin Huai <yhuai@databricks.com>
Closes #8953 from yhuai/SPARK-10887.
Diffstat (limited to 'sql/catalyst')
2 files changed, 4 insertions, 2 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala index d82d19185b..e8ee64756d 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateMutableProjection.scala @@ -27,6 +27,8 @@ abstract class BaseMutableProjection extends MutableProjection /** * Generates byte code that produces a [[MutableRow]] object that can update itself based on a new * input [[InternalRow]] for a fixed set of [[Expression Expressions]]. + * It exposes a `target` method, which is used to set the row that will be updated. + * The internal [[MutableRow]] object created internally is used only when `target` is not used. */ object GenerateMutableProjection extends CodeGenerator[Seq[Expression], () => MutableProjection] { diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala index ea09e029da..9873630937 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/codegen/GenerateSafeProjection.scala @@ -23,8 +23,8 @@ import org.apache.spark.sql.types._ /** - * Generates byte code that produces a [[MutableRow]] object that can update itself based on a new - * input [[InternalRow]] for a fixed set of [[Expression Expressions]]. + * Generates byte code that produces a [[MutableRow]] object (not an [[UnsafeRow]]) that can update + * itself based on a new input [[InternalRow]] for a fixed set of [[Expression Expressions]]. */ object GenerateSafeProjection extends CodeGenerator[Seq[Expression], Projection] { |