diff options
author | Michael Armbrust <michael@databricks.com> | 2015-04-16 17:59:49 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-04-16 17:59:49 -0700 |
commit | e5949c287ed19e78b6eecc61c3e88a07ad452eb9 (patch) | |
tree | faa9d4c75add30790d35dc86b9acab8383bafb34 /sql/core | |
parent | 1e43851d6455f65b850ea0327d0e92f65395d23f (diff) | |
download | spark-e5949c287ed19e78b6eecc61c3e88a07ad452eb9.tar.gz spark-e5949c287ed19e78b6eecc61c3e88a07ad452eb9.tar.bz2 spark-e5949c287ed19e78b6eecc61c3e88a07ad452eb9.zip |
[SPARK-6966][SQL] Use correct ClassLoader for JDBC Driver
Otherwise we cannot add jars with drivers after the fact.
Author: Michael Armbrust <michael@databricks.com>
Closes #5543 from marmbrus/jdbcClassloader and squashes the following commits:
d9930f3 [Michael Armbrust] fix imports
73d0614 [Michael Armbrust] [SPARK-6966][SQL] Use correct ClassLoader for JDBC Driver
Diffstat (limited to 'sql/core')
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/jdbc/JDBCRelation.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/jdbc/JDBCRelation.scala b/sql/core/src/main/scala/org/apache/spark/sql/jdbc/JDBCRelation.scala index 99b755c9f2..5f480083d5 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/jdbc/JDBCRelation.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/jdbc/JDBCRelation.scala @@ -28,6 +28,7 @@ import org.apache.spark.sql.SQLContext import org.apache.spark.sql.catalyst.expressions.Row import org.apache.spark.sql.sources._ import org.apache.spark.sql.types.StructType +import org.apache.spark.util.Utils /** * Data corresponding to one partition of a JDBCRDD. @@ -99,7 +100,7 @@ private[sql] class DefaultSource extends RelationProvider { val upperBound = parameters.getOrElse("upperBound", null) val numPartitions = parameters.getOrElse("numPartitions", null) - if (driver != null) Class.forName(driver) + if (driver != null) Utils.getContextOrSparkClassLoader.loadClass(driver) if (partitionColumn != null && (lowerBound == null || upperBound == null || numPartitions == null)) { |