Skip to content

Commit

Permalink
[SPARK-13754] Keep old data source name for backwards compatibility
Browse files Browse the repository at this point in the history
## Motivation
CSV data source was contributed by Databricks. It is the inlined version of https://github.com/databricks/spark-csv. The data source name was `com.databricks.spark.csv`. As a result there are many tables created on older versions of spark with that name as the source. For backwards compatibility we should keep the old name.

## Proposed changes
`com.databricks.spark.csv` was added to list of `backwardCompatibilityMap` in `ResolvedDataSource.scala`

## Tests
A unit test was added to `CSVSuite` to parse a csv file using the old name.

Author: Hossein <hossein@databricks.com>

Closes #11589 from falaki/SPARK-13754.
  • Loading branch information
falaki authored and marmbrus committed Mar 9, 2016
1 parent 982ef2b commit cc4ab37
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ case class DataSource(
"org.apache.spark.sql.json" -> classOf[json.DefaultSource].getCanonicalName,
"org.apache.spark.sql.json.DefaultSource" -> classOf[json.DefaultSource].getCanonicalName,
"org.apache.spark.sql.parquet" -> classOf[parquet.DefaultSource].getCanonicalName,
"org.apache.spark.sql.parquet.DefaultSource" -> classOf[parquet.DefaultSource].getCanonicalName
"org.apache.spark.sql.parquet.DefaultSource" -> classOf[parquet.DefaultSource].getCanonicalName,
"com.databricks.spark.csv" -> classOf[csv.DefaultSource].getCanonicalName
)

/** Given a provider name, look up the data source class definition. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -466,4 +466,14 @@ class CSVSuite extends QueryTest with SharedSQLContext with SQLTestUtils {
df.schema.fields.map(field => field.dataType).deep ==
Array(IntegerType, IntegerType, IntegerType, IntegerType).deep)
}

test("old csv data source name works") {
val cars = sqlContext
.read
.format("com.databricks.spark.csv")
.option("header", "false")
.load(testFile(carsFile))

verifyCars(cars, withHeader = false, checkTypes = false)
}
}

0 comments on commit cc4ab37

Please sign in to comment.