From 3ac2363d757cc9cebc627974f17ecda3a263efdf Mon Sep 17 00:00:00 2001 From: Yin Huai Date: Thu, 26 May 2016 16:53:31 -0700 Subject: [SPARK-15532][SQL] SQLContext/HiveContext's public constructors should use SparkSession.build.getOrCreate ## What changes were proposed in this pull request? This PR changes SQLContext/HiveContext's public constructor to use SparkSession.build.getOrCreate and removes isRootContext from SQLContext. ## How was this patch tested? Existing tests. Author: Yin Huai Closes #13310 from yhuai/SPARK-15532. --- .../src/main/scala/org/apache/spark/sql/hive/HiveContext.scala | 10 ++++------ .../main/scala/org/apache/spark/sql/hive/test/TestHive.scala | 9 ++++----- 2 files changed, 8 insertions(+), 11 deletions(-) (limited to 'sql/hive') diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala index 415d4c0049..3cfe93234f 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala @@ -28,15 +28,13 @@ import org.apache.spark.sql.{SparkSession, SQLContext} * Configuration for Hive is read from hive-site.xml on the classpath. */ @deprecated("Use SparkSession.builder.enableHiveSupport instead", "2.0.0") -class HiveContext private[hive]( - _sparkSession: SparkSession, - isRootContext: Boolean) - extends SQLContext(_sparkSession, isRootContext) with Logging { +class HiveContext private[hive](_sparkSession: SparkSession) + extends SQLContext(_sparkSession) with Logging { self => def this(sc: SparkContext) = { - this(new SparkSession(HiveUtils.withHiveExternalCatalog(sc)), true) + this(SparkSession.builder().sparkContext(HiveUtils.withHiveExternalCatalog(sc)).getOrCreate()) } def this(sc: JavaSparkContext) = this(sc.sc) @@ -47,7 +45,7 @@ class HiveContext private[hive]( * and Hive client (both of execution and metadata) with existing HiveContext. */ override def newSession(): HiveContext = { - new HiveContext(sparkSession.newSession(), isRootContext = false) + new HiveContext(sparkSession.newSession()) } protected[sql] override def sessionState: HiveSessionState = { diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala index 2f6aa36f95..81964db547 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala @@ -70,16 +70,15 @@ object TestHive * test cases that rely on TestHive must be serialized. */ class TestHiveContext( - @transient override val sparkSession: TestHiveSparkSession, - isRootContext: Boolean) - extends SQLContext(sparkSession, isRootContext) { + @transient override val sparkSession: TestHiveSparkSession) + extends SQLContext(sparkSession) { def this(sc: SparkContext) { - this(new TestHiveSparkSession(HiveUtils.withHiveExternalCatalog(sc)), true) + this(new TestHiveSparkSession(HiveUtils.withHiveExternalCatalog(sc))) } override def newSession(): TestHiveContext = { - new TestHiveContext(sparkSession.newSession(), false) + new TestHiveContext(sparkSession.newSession()) } override def sharedState: TestHiveSharedState = sparkSession.sharedState -- cgit v1.2.3