diff --git a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala index e59a483075c9..f6ee23c27865 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala @@ -184,7 +184,7 @@ class Dataset[T] private[sql]( case Union(children) if children.forall(hasSideEffects) => LogicalRDD(queryExecution.analyzed.output, queryExecution.toRdd)(sparkSession) case _ => - queryExecution.analyzed + queryExecution.withCachedData } } diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala index cb45a6d78b9b..b3c2ce1ff61d 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala @@ -66,11 +66,13 @@ class QueryExecution(val sparkSession: SparkSession, val logical: LogicalPlan) { lazy val withCachedData: LogicalPlan = { assertAnalyzed() - assertSupported() sparkSession.sharedState.cacheManager.useCachedData(analyzed) } - lazy val optimizedPlan: LogicalPlan = sparkSession.sessionState.optimizer.execute(withCachedData) + lazy val optimizedPlan: LogicalPlan = { + assertSupported() + sparkSession.sessionState.optimizer.execute(withCachedData) + } lazy val sparkPlan: SparkPlan = { SparkSession.setActiveSession(sparkSession) @@ -226,6 +228,8 @@ class QueryExecution(val sparkSession: SparkSession, val logical: LogicalPlan) { |${stringOrError(logical.treeString(verbose = true))} |== Analyzed Logical Plan == |$analyzedPlan + |== With cache data == + |$withCachedData |== Optimized Logical Plan == |${stringOrError(optimizedPlan.treeString(verbose = true))} |== Physical Plan == diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/columnar/InMemoryRelation.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/columnar/InMemoryRelation.scala index 56bd5c1891e8..4097841ab07c 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/columnar/InMemoryRelation.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/columnar/InMemoryRelation.scala @@ -142,7 +142,7 @@ case class InMemoryRelation( cached.setName( tableName.map(n => s"In-memory table $n") - .getOrElse(StringUtils.abbreviate(child.toString, 1024))) + .getOrElse(StringUtils.abbreviate(child.simpleString, 1024))) _cachedColumnBuffers = cached }