From fb219029dd1b8d2783c3e202361401048296595c Mon Sep 17 00:00:00 2001 From: Liwei Lin Date: Fri, 10 Jun 2016 13:01:29 -0700 Subject: [SPARK-15871][SQL] Add `assertNotPartitioned` check in `DataFrameWriter` ## What changes were proposed in this pull request? It doesn't make sense to specify partitioning parameters, when we write data out from Datasets/DataFrames into `jdbc` tables or streaming `ForeachWriter`s. This patch adds `assertNotPartitioned` check in `DataFrameWriter`.
operation should check not partitioned?
mode
outputMode
trigger
format
option/options
partitionBy
bucketBy
sortBy
save
queryName
startStream
foreach yes
insertInto
saveAsTable
jdbc yes
json
parquet
orc
text
csv
## How was this patch tested? New dedicated tests. Author: Liwei Lin Closes #13597 from lw-lin/add-assertNotPartitioned. --- .../scala/org/apache/spark/sql/sources/BucketedWriteSuite.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sql/hive') diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/sources/BucketedWriteSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/sources/BucketedWriteSuite.scala index 61a281db85..997445114b 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/sources/BucketedWriteSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/sources/BucketedWriteSuite.scala @@ -62,19 +62,19 @@ class BucketedWriteSuite extends QueryTest with SQLTestUtils with TestHiveSingle test("write bucketed data using save()") { val df = Seq(1 -> "a", 2 -> "b").toDF("i", "j") - val e = intercept[IllegalArgumentException] { + val e = intercept[AnalysisException] { df.write.bucketBy(2, "i").parquet("/tmp/path") } - assert(e.getMessage == "'save' does not support bucketing right now.") + assert(e.getMessage == "'save' does not support bucketing right now;") } test("write bucketed data using insertInto()") { val df = Seq(1 -> "a", 2 -> "b").toDF("i", "j") - val e = intercept[IllegalArgumentException] { + val e = intercept[AnalysisException] { df.write.bucketBy(2, "i").insertInto("tt") } - assert(e.getMessage == "'insertInto' does not support bucketing right now.") + assert(e.getMessage == "'insertInto' does not support bucketing right now;") } private val df = (0 until 50).map(i => (i % 5, i % 13, i.toString)).toDF("i", "j", "k") -- cgit v1.2.3