aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorCheng Lian <lian@databricks.com>2015-07-10 16:49:45 -0700
committerReynold Xin <rxin@databricks.com>2015-07-10 16:49:45 -0700
commit857e325f304a02b1cab2463c1e15af7627a600bd (patch)
tree5b68207b8cfc24e96562f54e6c63d33f66c70350 /sql
parentfb8807c9b04f27467b36fc9d0177ef92dd012670 (diff)
downloadspark-857e325f304a02b1cab2463c1e15af7627a600bd.tar.gz
spark-857e325f304a02b1cab2463c1e15af7627a600bd.tar.bz2
spark-857e325f304a02b1cab2463c1e15af7627a600bd.zip
[SPARK-8990] [SQL] SPARK-8990 DataFrameReader.parquet() should respect user specified options
Author: Cheng Lian <lian@databricks.com> Closes #7347 from liancheng/spark-8990 and squashes the following commits: 045698c [Cheng Lian] SPARK-8990 DataFrameReader.parquet() should respect user specified options
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala2
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/parquet/ParquetQuerySuite.scala21
2 files changed, 22 insertions, 1 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala b/sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala
index 1828ed1aab..9ad6e21da7 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/DataFrameReader.scala
@@ -263,7 +263,7 @@ class DataFrameReader private[sql](sqlContext: SQLContext) {
val globbedPaths = paths.map(new Path(_)).flatMap(SparkHadoopUtil.get.globPath).toArray
sqlContext.baseRelationToDataFrame(
new ParquetRelation2(
- globbedPaths.map(_.toString), None, None, Map.empty[String, String])(sqlContext))
+ globbedPaths.map(_.toString), None, None, extraOptions.toMap)(sqlContext))
}
}
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/parquet/ParquetQuerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/parquet/ParquetQuerySuite.scala
index a0a81c4309..21007d95ed 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/parquet/ParquetQuerySuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/parquet/ParquetQuerySuite.scala
@@ -142,6 +142,27 @@ class ParquetQuerySuiteBase extends QueryTest with ParquetTest {
testSchemaMerging(2)
}
}
+
+ test("SPARK-8990 DataFrameReader.parquet() should respect user specified options") {
+ withTempPath { dir =>
+ val basePath = dir.getCanonicalPath
+ sqlContext.range(0, 10).toDF("a").write.parquet(new Path(basePath, "foo=1").toString)
+ sqlContext.range(0, 10).toDF("b").write.parquet(new Path(basePath, "foo=a").toString)
+
+ // Disables the global SQL option for schema merging
+ withSQLConf(SQLConf.PARQUET_SCHEMA_MERGING_ENABLED.key -> "false") {
+ assertResult(2) {
+ // Disables schema merging via data source option
+ sqlContext.read.option("mergeSchema", "false").parquet(basePath).columns.length
+ }
+
+ assertResult(3) {
+ // Enables schema merging via data source option
+ sqlContext.read.option("mergeSchema", "true").parquet(basePath).columns.length
+ }
+ }
+ }
+ }
}
class ParquetDataSourceOnQuerySuite extends ParquetQuerySuiteBase with BeforeAndAfterAll {