File tree Expand file tree Collapse file tree 1 file changed +16
-11
lines changed
sql/core/src/main/scala/org/apache/spark/sql/sources Expand file tree Collapse file tree 1 file changed +16
-11
lines changed Original file line number Diff line number Diff line change @@ -209,17 +209,22 @@ private[sql] case class CreateTableUsing(
209209 sys.error(s " Failed to load class for data source: $provider" )
210210 }
211211 }
212- val relation = if (tableCols.isEmpty) {
213- val dataSource =
214- clazz.newInstance().asInstanceOf [org.apache.spark.sql.sources.RelationProvider ]
215-
216- dataSource.createRelation(sqlContext, new CaseInsensitiveMap (options))
217- } else {
218- val dataSource =
219- clazz.newInstance().asInstanceOf [org.apache.spark.sql.sources.SchemaRelationProvider ]
220-
221- dataSource.createRelation(
222- sqlContext, new CaseInsensitiveMap (options), Some (StructType (tableCols)))
212+ val relation = clazz.newInstance match {
213+ case dataSource : org.apache.spark.sql.sources.RelationProvider =>
214+ dataSource
215+ .asInstanceOf [org.apache.spark.sql.sources.RelationProvider ]
216+ .createRelation(sqlContext, new CaseInsensitiveMap (options))
217+ case dataSource : org.apache.spark.sql.sources.SchemaRelationProvider =>
218+ if (tableCols.isEmpty) {
219+ dataSource
220+ .asInstanceOf [org.apache.spark.sql.sources.SchemaRelationProvider ]
221+ .createRelation(sqlContext, new CaseInsensitiveMap (options))
222+ } else {
223+ dataSource
224+ .asInstanceOf [org.apache.spark.sql.sources.SchemaRelationProvider ]
225+ .createRelation(
226+ sqlContext, new CaseInsensitiveMap (options), Some (StructType (tableCols)))
227+ }
223228 }
224229
225230 sqlContext.baseRelationToSchemaRDD(relation).registerTempTable(tableName)
You can’t perform that action at this time.
0 commit comments