From f716b106ede5f090c12e261d64ac5fb4ae0af8a4 Mon Sep 17 00:00:00 2001 From: gatorsmile Date: Sun, 8 May 2016 13:53:44 -0700 Subject: [PATCH] a explainCodegen debug API --- .../main/scala/org/apache/spark/sql/Dataset.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 dd73fb8dad695..901e0d85270c4 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 @@ -406,6 +406,21 @@ class Dataset[T] private[sql]( def printSchema(): Unit = println(schema.treeString) // scalastyle:on println + /** + * Prints the codegen to the console for debugging purposes. + * + * @group basic + * @since 2.0.0 + */ + def explainCodegen(): Unit = { + val explain = ExplainCommand(queryExecution.logical, codegen = true) + sparkSession.executePlan(explain).executedPlan.executeCollect().foreach { + // scalastyle:off println + r => println(r.getString(0)) + // scalastyle:on println + } + } + /** * Prints the plans (logical and physical) to the console for debugging purposes. *