Skip to content

Commit 72b349a

Browse files
committed
fixed error with orc data source actually
1 parent 9f93ea7 commit 72b349a

File tree

1 file changed

+10
-10
lines changed
  • sql/core/src/main/scala/org/apache/spark/sql/execution/datasources

1 file changed

+10
-10
lines changed

sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/ddl.scala

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -196,25 +196,25 @@ private[sql] class DDLParser(
196196

197197
private[sql] object ResolvedDataSource extends Logging {
198198

199-
private lazy val loader = Utils.getContextOrSparkClassLoader
200-
private lazy val serviceLoader = ServiceLoader.load(classOf[DataSourceRegister], loader)
201-
202199
/** Tries to load the particular class */
203-
private def tryLoad(provider: String): Option[Class[_]] = try {
200+
private def tryLoad(loader: ClassLoader, provider: String): Option[Class[_]] = try {
204201
Some(loader.loadClass(provider))
205202
} catch {
206203
case cnf: ClassNotFoundException => None
207204
}
208205

209206
/** Given a provider name, look up the data source class definition. */
210207
def lookupDataSource(provider: String): Class[_] = {
208+
val loader = Utils.getContextOrSparkClassLoader
209+
val serviceLoader = ServiceLoader.load(classOf[DataSourceRegister], loader)
210+
211211
serviceLoader.iterator().filter(_.format() == provider).toList match {
212-
case Nil => tryLoad(provider).orElse(tryLoad(s"$provider.DefaultSource")).getOrElse(
213-
if (provider.startsWith("org.apache.spark.sql.hive.orc")) {
214-
sys.error("The ORC data source must be used with Hive support enabled.")
215-
} else {
216-
sys.error(s"Failed to load class for data source: $provider")
217-
})
212+
case Nil => tryLoad(loader, provider).orElse(tryLoad(loader, s"$provider.DefaultSource"))
213+
.getOrElse(if (provider.startsWith("org.apache.spark.sql.hive.orc")) {
214+
sys.error("The ORC data source must be used with Hive support enabled.")
215+
} else {
216+
sys.error(s"Failed to load class for data source: $provider")
217+
})
218218
case head :: Nil => head.getClass
219219
case sources => sys.error(s"Multiple sources found for $provider, " +
220220
s"(${sources.map(_.getClass.getName).mkString(", ")}), " +

0 commit comments

Comments
 (0)