You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by hv...@apache.org on 2018/04/20 12:43:52 UTC
spark git commit: [SPARK-23588][SQL][FOLLOW-UP] Resolve a map builder
method per execution in CatalystToExternalMap
Repository: spark
Updated Branches:
refs/heads/master e6b466084 -> 074a7f905
[SPARK-23588][SQL][FOLLOW-UP] Resolve a map builder method per execution in CatalystToExternalMap
## What changes were proposed in this pull request?
This pr is a follow-up pr of #20979 and fixes code to resolve a map builder method per execution instead of per row in `CatalystToExternalMap`.
## How was this patch tested?
Existing tests.
Author: Takeshi Yamamuro <ya...@apache.org>
Closes #21112 from maropu/SPARK-23588-FOLLOWUP.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/074a7f90
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/074a7f90
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/074a7f90
Branch: refs/heads/master
Commit: 074a7f90536493b607e8e74bcebf3a27ea49a49d
Parents: e6b4660
Author: Takeshi Yamamuro <ya...@apache.org>
Authored: Fri Apr 20 14:43:47 2018 +0200
Committer: Herman van Hovell <hv...@databricks.com>
Committed: Fri Apr 20 14:43:47 2018 +0200
----------------------------------------------------------------------
.../spark/sql/catalyst/expressions/objects/objects.scala | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/074a7f90/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala
index bc17d12..32c1f34 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala
@@ -1040,11 +1040,13 @@ case class CatalystToExternalMap private(
private lazy val valueConverter =
CatalystTypeConverters.createToScalaConverter(inputMapType.valueType)
- private def newMapBuilder(): Builder[AnyRef, AnyRef] = {
+ private lazy val (newMapBuilderMethod, moduleField) = {
val clazz = Utils.classForName(collClass.getCanonicalName + "$")
- val module = clazz.getField("MODULE$").get(null)
- val method = clazz.getMethod("newBuilder")
- method.invoke(module).asInstanceOf[Builder[AnyRef, AnyRef]]
+ (clazz.getMethod("newBuilder"), clazz.getField("MODULE$").get(null))
+ }
+
+ private def newMapBuilder(): Builder[AnyRef, AnyRef] = {
+ newMapBuilderMethod.invoke(moduleField).asInstanceOf[Builder[AnyRef, AnyRef]]
}
override def eval(input: InternalRow): Any = {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org