|
17 | 17 |
|
18 | 18 | package org.apache.spark.sql.hive.execution |
19 | 19 |
|
20 | | -import org.apache.spark.sql.QueryTest |
21 | | - |
22 | | -import org.apache.spark.sql.Row |
| 20 | +import org.apache.spark.sql.hive.HiveShim |
23 | 21 | import org.apache.spark.sql.hive.test.TestHive._ |
24 | 22 | 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} |
27 | 24 |
|
28 | 25 | case class Nested1(f1: Nested2) |
29 | 26 | case class Nested2(f2: Nested3) |
@@ -109,28 +106,34 @@ class SQLQuerySuite extends QueryTest { |
109 | 106 | ) |
110 | 107 |
|
111 | 108 | 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 | + } |
134 | 137 | } |
135 | 138 | } |
136 | 139 |
|
|
0 commit comments