Skip to content

Commit 5291289

Browse files
committed
Hot fix for "SQLQuerySuite.CTAS with serde"
1 parent 85ccee8 commit 5291289

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717

1818
package org.apache.spark.sql.hive.execution
1919

20-
import org.apache.spark.sql.QueryTest
21-
22-
import org.apache.spark.sql.Row
20+
import org.apache.spark.sql.hive.HiveShim
2321
import org.apache.spark.sql.hive.test.TestHive._
2422
import org.apache.spark.sql.types._
25-
import org.apache.spark.util.Utils
26-
import org.apache.spark.sql.hive.HiveShim
23+
import org.apache.spark.sql.{QueryTest, Row, SQLConf}
2724

2825
case class Nested1(f1: Nested2)
2926
case class Nested2(f2: Nested3)
@@ -109,28 +106,34 @@ class SQLQuerySuite extends QueryTest {
109106
)
110107

111108
if (HiveShim.version =="0.13.1") {
112-
sql(
113-
"""CREATE TABLE ctas5
114-
| STORED AS parquet AS
115-
| SELECT key, value
116-
| FROM src
117-
| ORDER BY key, value""".stripMargin).collect
118-
119-
checkExistence(sql("DESC EXTENDED ctas5"), true,
120-
"name:key", "type:string", "name:value", "ctas5",
121-
"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat",
122-
"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat",
123-
"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe",
124-
"MANAGED_TABLE"
125-
)
126-
127-
val default = getConf("spark.sql.hive.convertMetastoreParquet", "true")
128-
// use the Hive SerDe for parquet tables
129-
sql("set spark.sql.hive.convertMetastoreParquet = false")
130-
checkAnswer(
131-
sql("SELECT key, value FROM ctas5 ORDER BY key, value"),
132-
sql("SELECT key, value FROM src ORDER BY key, value").collect().toSeq)
133-
sql(s"set spark.sql.hive.convertMetastoreParquet = $default")
109+
val origUseParquetDataSource = conf.parquetUseDataSourceApi
110+
try {
111+
setConf(SQLConf.PARQUET_USE_DATA_SOURCE_API, "false")
112+
sql(
113+
"""CREATE TABLE ctas5
114+
| STORED AS parquet AS
115+
| SELECT key, value
116+
| FROM src
117+
| ORDER BY key, value""".stripMargin).collect()
118+
119+
checkExistence(sql("DESC EXTENDED ctas5"), true,
120+
"name:key", "type:string", "name:value", "ctas5",
121+
"org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat",
122+
"org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat",
123+
"org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe",
124+
"MANAGED_TABLE"
125+
)
126+
127+
val default = getConf("spark.sql.hive.convertMetastoreParquet", "true")
128+
// use the Hive SerDe for parquet tables
129+
sql("set spark.sql.hive.convertMetastoreParquet = false")
130+
checkAnswer(
131+
sql("SELECT key, value FROM ctas5 ORDER BY key, value"),
132+
sql("SELECT key, value FROM src ORDER BY key, value").collect().toSeq)
133+
sql(s"set spark.sql.hive.convertMetastoreParquet = $default")
134+
} finally {
135+
setConf(SQLConf.PARQUET_USE_DATA_SOURCE_API, origUseParquetDataSource.toString)
136+
}
134137
}
135138
}
136139

0 commit comments

Comments
 (0)